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多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
php模拟ping命令(php exec函数的使用方法)
Oct 25 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
Jul 28 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
php中让人头疼的浮点数运算分析
Oct 10 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP实现添加购物车功能
Mar 06 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
PHP中SESSION过期设置
Mar 09 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 trim 去除空字符的定义与语法介绍
2010/05/31 PHP
php格式化金额函数分享
2015/02/02 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
Javascript UrlDecode函数代码
2010/01/09 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
python flask中静态文件的管理方法
2018/03/20 Python
python Pandas库基础分析之时间序列的处理详解
2019/07/13 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
django 使用 PIL 压缩图片的例子
2019/08/16 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
财务会计专业毕业生自荐信
2013/10/19 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
改革共识倡议书
2014/08/29 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
毕业证委托书范文
2014/09/26 职场文书
2014年党建工作总结
2014/11/11 职场文书
2014年平安创建工作总结
2014/11/24 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python