*thinkphp數據庫的事務回滾例子
*這一般用在多表操作,比如:
(1)訂單表和其他訂單關聯信息,刪除訂單同時也要把訂單關聯表中的信息刪掉,如果說刪除了訂單表結果在刪除訂單關聯信息表時出現問題,也就是說,訂單的關聯信息沒有刪掉,這時就會出現信息不對應,甚至信息的冗餘,這時採用事務回滾,如果一個沒有刪掉,之前的也要回滾,保持記錄的對應統一
(2)銀行打錢,如果A給B打錢,給Binsert成功了,但是Adelete失敗,這時銀行就虧大了,明白?此時就要回滾,如果兩者其中一者不成立,則都復位
*/public function rollback(){
$M=M("Rollback");
$M->startTrans();//開啓事務
$array=array("name"=>"hehe","sex"=>"men");
if($M->add($array) && $M->where("id in (14,15)")->delete())
{
echo "操作成功!";
$M->commit();//提交事務成功
}else{
echo "操作失敗!";
$M->rollback();//事務有錯回滾
}
}