~~~
/**
*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();//事务有错回滚
}
}
~~~