首页  >  文章  >  后端开发  >  thinkPHP框架中执行事务的方法

thinkPHP框架中执行事务的方法

不言
不言原创
2018-05-31 14:52:412196浏览

这篇文章主要介绍了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