thinkPHP框架中执行事务的方法示例

 更新时间:2018年05月31日 08:49:45   作者:m_nanle_xiaobudiu  
这篇文章主要介绍了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入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • php 生成自动创建文件夹并上传文件的示例代码

    php 生成自动创建文件夹并上传文件的示例代码

    本篇文章主要是对php生成自动创建文件夹并上传文件的示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-03-03
  • 利用PHPStorm如何开发Laravel应用详解

    利用PHPStorm如何开发Laravel应用详解

    这篇文章主要给大家介绍了关于利用PHPStorm如何开发Laravel应用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习下吧。
    2017-08-08
  • 使用php的HTTP请求的库Requests实现美女图片墙

    使用php的HTTP请求的库Requests实现美女图片墙

    这篇文章主要介绍了使用php的HTTP请求的库Requests实现美女图片墙的方法,十分简单实用,需要的朋友可以参考下
    2015-02-02
  • ThinkPHP之M方法实例详解

    ThinkPHP之M方法实例详解

    这篇文章主要介绍了ThinkPHP的M方法,需要的朋友可以参考下
    2014-06-06
  • set_exception_handler函数在ThinkPHP中的用法

    set_exception_handler函数在ThinkPHP中的用法

    这篇文章主要介绍了set_exception_handler函数在ThinkPHP中的用法,分析了官方给出了set_exception_handler函数用法说明及示例,并讲述了在ThinkPHP中的应用实例,需要的朋友可以参考下
    2014-10-10
  • laravel框架实现敏感词汇过滤功能示例

    laravel框架实现敏感词汇过滤功能示例

    这篇文章主要介绍了laravel框架实现敏感词汇过滤功能,结合实例形式分析了laravel框架通过扩展php-dfa-sensitive实现敏感词过滤的相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • win10下 php安装seaslog扩展的详细步骤

    win10下 php安装seaslog扩展的详细步骤

    这篇文章主要介绍了win10下 php安装seaslog扩展,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • php二维数组转成字符串示例

    php二维数组转成字符串示例

    这篇文章主要介绍了php二维数组转成字符串示例,需要的朋友可以参考下
    2014-02-02
  • php封装的mongodb操作类代码

    php封装的mongodb操作类代码

    这篇文章主要分享一个php封装的mongodb操作类,有需要的朋友们可以参考一下
    2017-08-08
  • php数组删除元素示例

    php数组删除元素示例

    在某个数组中删除一个元素,我是直接用的unset,也不管unset之后会发生什么。但今天看到的东西却让我大吃一惊,并不是我想象的那样,我用示例来说明
    2014-03-03

最新评论