tp框架中执行事务
function tran()
{//定義事務(wù)成功失敗的標(biāo)志$mark = true;//1. 實(shí)例化模型$model = D('student');//2. 開啟事務(wù)處理$model->startTrans();//3. ls減少2000$sql = "update student set money=money-2000 where uname='ls'";$result = $model->execute($sql);//判斷sql執(zhí)行是否成功,如果失敗,則將$mark改為falseif(!$result) {$mark = false;}//4. zs增加2000$sql = "update student set money=money+2000 where uname='zs'";$result = $user->execute($sql);//判斷sql執(zhí)行是否成功,如果失敗,則將$mark改為falseif(!$result) {$mark = false;}$mark = false; //暫時強(qiáng)制改為false,測試回滾效果//5. 提交事務(wù)//判斷$mark的值,為ture則提交,為false則回滾if($mark) {$user->commit();} else {$user->rollback();}}
?
TP中事務(wù)相關(guān)的方法: 都是在Model.class.php中定義好的
startTran(): 開啟事務(wù)處理
Commit(): 提交事務(wù)
Rollback(): 回滾
當(dāng)需要執(zhí)行的事務(wù)是在不同的sql表中時,只需要執(zhí)行兩個sql的model定義的不同即可
總結(jié)
- 上一篇: 论坛中,无限分类的原理
- 下一篇: Git的使用(推荐命令行模式)