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