妳用的框架還是原生??
原生和框架代碼不同? 但是大概意思都是壹樣的。例如原生的pdo吧:
<?php?$pdo?=?new?pdo("mysql:host=localhost;dbname=mydb","root","root",?array(PDO::ATTR_AUTOCOMMIT=>0));
try{
$pdo->beginTransaction();//開啟事務處理 $price=500; $sql="update?xx?set?price=price-{$price}?where?id=1"; $affected_rows=$pdo->exec($sql);if(!$affected_rows)
thrownewPDOException("失敗");//那個錯誤拋出異常
$sql="update?zhanghao?set?price=price+{$price}?where?id=3"; $affected_rows=$pdo->exec($sql);if(!$affected_rows)
thrownewPDOException("失敗");
echo?"交易成功!";
$pdo->commit();//交易成功就提交
}catch(PDOException?$e){ echo?$e->getMessage(); $pdo->rollback();}
/*這是原生pdo?的事務壹個簡單實例
*至於框架就更簡單了?壹般model類都有定義 *具體流程意思就是?開啟事務?事務出錯就回滾?rollback();?事務成功就提交?commit(); */ >