本文實(shí)例講述了thinkPHP框架中執(zhí)行事務(wù)的方法。分享給大家供大家參考,具體如下:
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改為false
if(!$result){
$mark = false;
}
//4. zs增加2000
$sql = "update student set money=money+2000 where uname='zs'";
$result = $user->execute($sql);
//判斷sql執(zhí)行是否成功,如果失敗,則將$mark改為false
if(!$result){
$mark = false;
}
$mark = false; //暫時(shí)強(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表中時(shí),只需要執(zhí)行兩個(gè)sql的model定義的不同即可
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- ThinkPHP 3.2.2實(shí)現(xiàn)事務(wù)操作的方法
- Thinkphp事務(wù)操作實(shí)例(推薦)
- thinkPHP5.0框架事務(wù)處理操作簡單示例
- ThinkPHP實(shí)現(xiàn)事務(wù)回滾示例代碼
- thinkphp 多表 事務(wù)詳解
- php中在PDO中使用事務(wù)(Transaction)
- php+mysql事務(wù)rollbackcommit示例
- 解析php mysql 事務(wù)處理回滾操作(附實(shí)例)
- PHP中實(shí)現(xiàn)MySQL嵌套事務(wù)的兩種解決方案
- php事務(wù)回滾簡單實(shí)現(xiàn)方法示例
- thinkPHP事務(wù)操作簡單案例分析