首頁  >  文章  >  後端開發  >  thinkPHP框架中執行事務的方法

thinkPHP框架中執行事務的方法

不言
不言原創
2018-05-31 14:52:412188瀏覽

這篇文章主要介紹了thinkPHP框架中執行事務的方法,結合實例形式分析了thinkPHP框架中使用模型中封裝的startTran()、Commit()及Rollback()方法執行事務與回滾操作相關實現技巧,需要的朋友可以參考下

本文實例講述了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框架PDO連接資料庫步驟詳解

thinkPHP框架自動填入原理與用法使用詳解

#

以上是thinkPHP框架中執行事務的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn