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 相关文章推荐
兼容firefox,chrome的网页灰度效果
Aug 08 PHP
Yii不依赖Model的表单生成器用法实例
Dec 04 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
php实现图片缩略图的方法
Mar 29 PHP
php自动载入类用法实例分析
Jun 24 PHP
详解PHP中array_rand函数的使用方法
Sep 11 PHP
php微信公众平台示例代码分析(二)
Dec 06 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 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中的curl_multi系列函数使用例子
2014/07/29 PHP
PHP 前加at符合@的作用解析
2015/07/31 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
javascript 面向对象 function类
2010/05/13 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
2014/08/27 Javascript
JS在可编辑的div中的光标位置插入内容的方法
2014/11/20 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
JavaScript模拟实现自由落体效果
2018/08/28 Javascript
vue 弹框产生的滚动穿透问题的解决
2018/09/21 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
Vue管理系统前端之组件拆分封装详解
2020/08/23 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
使用Python的Treq on Twisted来进行HTTP压力测试
2015/04/16 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python django事务transaction源码分析详解
2017/03/17 Python
Win10下Python3.7.3安装教程图解
2019/07/08 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
python SOCKET编程基础入门
2021/02/27 Python
房地产开发计划书
2014/01/10 职场文书
养殖项目策划书范文
2014/01/13 职场文书
打架检讨书2000字
2014/02/22 职场文书
小学生元旦感言
2014/02/26 职场文书
外联部演讲稿
2014/05/24 职场文书
建筑工地质量标语
2014/06/12 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
毕业证代领委托书
2014/09/26 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
农村党员干部承诺书
2015/05/04 职场文书