这篇文章主要介绍了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程序设计有所帮助。
				 沃梦达教程
				
			本文标题为:thinkPHP框架中执行事务的方法示例
				
        
 
            
        
             猜你喜欢
        
	     - PHP简单实现二维数组的矩阵转置操作示例 2022-10-02
 - windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02
 - php微信公众号开发之秒杀 2022-11-23
 - laravel通用化的CURD的实现 2023-03-17
 - 用nohup命令实现PHP的多进程 2023-09-02
 - PHP中PDO事务处理操作示例 2022-10-15
 - laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
 - Laravel balde模板文件中判断数据为空方法 2023-08-30
 - PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
 - PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
 
						
						
						
						
						
				
				
				
				