tp框架中执行事务
function tran()
{//定義事務成功失敗的標志$mark = true;//1. 實例化模型$model = D('student');//2. 開啟事務處理$model->startTrans();//3. ls減少2000$sql = "update student set money=money-2000 where uname='ls'";$result = $model->execute($sql);//判斷sql執行是否成功,如果失敗,則將$mark改為falseif(!$result) {$mark = false;}//4. zs增加2000$sql = "update student set money=money+2000 where uname='zs'";$result = $user->execute($sql);//判斷sql執行是否成功,如果失敗,則將$mark改為falseif(!$result) {$mark = false;}$mark = false; //暫時強制改為false,測試回滾效果//5. 提交事務//判斷$mark的值,為ture則提交,為false則回滾if($mark) {$user->commit();} else {$user->rollback();}}
?
TP中事務相關的方法: 都是在Model.class.php中定義好的
startTran(): 開啟事務處理
Commit(): 提交事務
Rollback(): 回滾
當需要執行的事務是在不同的sql表中時,只需要執行兩個sql的model定義的不同即可
總結
- 上一篇: 论坛中,无限分类的原理
- 下一篇: nginx服务器,访问时显示目录,不直接