本文实例讲述了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程序设计有所帮助。
本文向大家介绍解析 thinkphp 框架中的部分方法,包括了解析 thinkphp 框架中的部分方法的使用技巧和注意事项,需要的朋友参考一下 1 thinkphp 框架 中判断输入的数值和数据库中的数值是否一致 首先 需要在view文件夹下建一个模板 名为zhuce.html 我在控制器TextController.class.php中写了一个方法zhuce(),显示模板 这里需要用到a
本文向大家介绍ThinkPHP框架表单验证操作方法,包括了ThinkPHP框架表单验证操作方法的使用技巧和注意事项,需要的朋友参考一下 自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证。分为静态验证和动态验证。 一、静态验证 (1)在Home/Controller/路径下新建Index控制器。IndexController Inde
本文向大家介绍ThinkPHP 3.2.2实现事务操作的方法,包括了ThinkPHP 3.2.2实现事务操作的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP 3.2.2实现事务操作的方法。分享给大家供大家参考,具体如下: 手册里说得非常清楚 : 5.3.19 事务支持 ThinkPHP提供了单数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法: 启动事务
本文向大家介绍ThinkPHP5框架中使用JWT的方法示例,包括了ThinkPHP5框架中使用JWT的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了ThinkPHP5框架中使用JWT的方法。分享给大家供大家参考,具体如下: JWT下载地址:https://jwt.io 可以直接去github上下载,也可以使用composer 使用composer的话要确保你的电脑上安装了comp
本文向大家介绍thinkphp框架类库扩展操作示例,包括了thinkphp框架类库扩展操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp框架类库扩展操作。分享给大家供大家参考,具体如下: 官方文档 http://document.thinkphp.cn/manual_3_2.html#lib_extend 自定义命名空间 在项目的application->common
我需要创建一个具有架构列表的@Scheduled方法,对于每个架构,从2个表中删除行。 我将deleteFromCustomerTables定义为@Transactional(propagation=propagation.REQUIRES_NEW),并在其中使用EntityManager从2个表中删除行。 为了使其工作,我需要将@Transactional添加到计划FixedDelayTask,
本文向大家介绍浅谈laravel框架与thinkPHP框架的区别,包括了浅谈laravel框架与thinkPHP框架的区别的使用技巧和注意事项,需要的朋友参考一下 主要区别:(thinkPHP更适合国人的编码习惯) 1、渲染模版方式的不同: 在Laravel框架里,使用return view()来渲染模版; 而ThinkPHP里则使用了$this->display()的方式渲染模版; 2、在Lar
本文向大家介绍PowerShell中执行Javascript的方法示例,包括了PowerShell中执行Javascript的方法示例的使用技巧和注意事项,需要的朋友参考一下 背景与问题 别人写了一个Web应用程序,使用的是ASP.NET Forms技术。其中用到了一个DropdownList控件,用户选择了某项后,页面会回传,然后在下面再动态的显示另外一个控件,逻辑很简单。 这是产生的的部分的h