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


Posted in PHP onMay 31, 2018

本文实例讲述了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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
php中将数组转成字符串并保存到数据库中的函数代码
Sep 29 PHP
php统计文章排行示例
Mar 04 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
Mar 28 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
php常用的安全过滤函数集锦
Oct 09 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
PHP实现的贪婪算法实例
Oct 17 PHP
PHP生成推广海报的方法分享
Apr 22 PHP
PHP以json或xml格式返回请求数据的方法
May 31 #PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
May 30 #PHP
php支付宝系列之电脑网站支付
May 30 #PHP
Laravel框架使用Redis的方法详解
May 30 #PHP
php实现微信支付之退款功能
May 30 #PHP
分享5个非常有用的Laravel Blade指令
May 30 #PHP
php实现微信支付之企业付款
May 30 #PHP
You might like
PHP生成静态页
2006/11/25 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
django中的ajax组件教程详解
2018/10/18 PHP
jquery得到font-size属性值实现代码
2013/09/30 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python发送form-data请求及拼接form-data内容的方法
2016/03/05 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
Python正则表达式如何匹配中文
2020/05/27 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
倩碧英国官网:Clinique英国
2018/08/10 全球购物
网络书店创业计划书
2014/02/07 职场文书
对孩子的寄语
2014/04/09 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
《悯农》教学反思
2014/04/28 职场文书
英文推荐信格式范文
2014/05/09 职场文书
文明和谐家庭事迹材料
2014/05/18 职场文书
公民授权委托书范本
2014/09/17 职场文书
文化大革命观后感
2015/06/17 职场文书
呐喊读书笔记
2015/06/30 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android