thinkPHP框架中執(zhí)行事務的方法示例
本文實例講述了thinkPHP框架中執(zhí)行事務的方法。分享給大家供大家參考,具體如下:
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執(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; //暫時強制改為false,測試回滾效果 //5. 提交事務 //判斷$mark的值,為ture則提交,為false則回滾 if($mark){ $user->commit(); } else { $user->rollback(); } }
TP中事務相關(guān)的方法: 都是在Model.class.php中定義好的
startTran()
: 開啟事務處理
Commit()
: 提交事務
Rollback()
: 回滾
當需要執(zhí)行的事務是在不同的sql表中時,只需要執(zhí)行兩個sql的model定義的不同即可
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計有所幫助。
相關(guān)文章
Laravel實現(xiàn)構(gòu)造函數(shù)自動依賴注入的方法
這篇文章主要介紹了Laravel實現(xiàn)構(gòu)造函數(shù)自動依賴注入的方法,涉及Laravel構(gòu)造函數(shù)自動初始化的相關(guān)技巧,需要的朋友可以參考下2016-03-03Thinkphp5框架實現(xiàn)獲取數(shù)據(jù)庫數(shù)據(jù)到視圖的方法
這篇文章主要介紹了Thinkphp5框架實現(xiàn)獲取數(shù)據(jù)庫數(shù)據(jù)到視圖的方法,涉及thinkPHP5數(shù)據(jù)庫配置、讀取、模型操作及視圖調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-08-08smarty模板引擎中內(nèi)建函數(shù)if、elseif和else的使用方法
這篇文章主要介紹了smarty模板引擎中內(nèi)建函數(shù)if、elseif和else的使用方法,通過兩個示例分析了if、elseif和else的使用技巧,需要的朋友可以參考下2015-01-01Thinkphp將二維數(shù)組變?yōu)闃撕炦m用的一維數(shù)組方法總結(jié)
這篇文章主要介紹了Thinkphp將二維數(shù)組變?yōu)闃撕炦m用的一維數(shù)組方法,總結(jié)了常見的轉(zhuǎn)化數(shù)組方法,非常實用,需要的朋友可以參考下2014-10-10