ThinkPHP 3.2.2 事务

1 <?php
 2 namespace SMS\Controller;
 3 use Think\Controller;
 4 class IndexController extends Controller {
 5     public function index(){
 6         //echo 111;
 7         $data[‘operator‘] = ‘Testss‘;
 8         M()->startTrans();
 9         $result = M(‘feehistory‘)->add($data);
10         $result1 = $result2 = true;
11         if(!empty($result)){
12             $regdelData[‘level‘] = ‘111‘;
13             $result1 = M(‘regdel‘)->add($regdelData);
14 
15             $regData[‘level‘] = ‘101‘;
16             $result2 = M(‘reg‘)->where("registryCode=‘13693536752-SJB-HUAX-12345678‘")->save($regData);
17 
18         }
19 
20         if(!empty($result) && !empty($result1) && !empty($result2) ){
21             M()->commit();    
22             //$this->success(‘事物提交‘,__ROOT__);
23             echo ‘事物提交‘;
24         }else{
25             M()->rollback();
26             //$this->error(‘事物回滚‘,__ROOT__);
27             echo ‘事物回滚‘;
28         }
29     }
30 }

时间: 2024-11-05 16:07:31

ThinkPHP 3.2.2 事务的相关文章

ThinkPHP实现事务回滚示例代码

ThinkPHP的事务回滚示例如下: $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可以了,或者第二个也行 $result=$m->where('删除条件')->delete(); $result2=m2->where('删除条件')->delete(); if($result && $result2){ $m->commit();//成功则提交

thinkphp的事务

ThinkPHP的事务回滚示例如下: $m =D( 'YourModel' ); //或者是M(); $m2 =D( 'YouModel2' ); $m ->startTrans(); //在第一个模型里启用就可以了,或者第二个也行 $result = $m ->where( '删除条件' )-> delete (); $result2 =m2->where( '删除条件' )-> delete (); if ( $result && $result2 ){

thinkphp 的事务回滚处理 和 原始PHP的事务回滚实例

1.  要程序里面支持事务,首先连接的数据库和数据表必须支持事务 mysql   为例: 数据库InnoDB支持 transactions 数据表支持事务:InnoDB  支持transaction 2. 框架thinkphp  支持事务代码 public function testrollback(){ $model1 = D('item'); $model2 = D('vote'); $model1->startTrans(); $res1 = $model1->where('id = 5

thinkphp curd的事务回滚 一看就会

/** *thinkphp数据库的事务回滚例子 *这一般用在多表操作,比如: (1)订单表和其他订单关联信息,删除订单同时也要把订单关联表中的信息删掉,如果说删除了订单表结果在删除订单关联信息表时出现问题,也就是说,订单的关联信息没有删掉,这时就会出现信息不对应,甚至信息的冗余,这时采用事务回滚,如果一个没有删掉,之前的也要回滚,保持记录的对应统一 (2)银行打钱,如果A给B打钱,给Binsert成功了,但是Adelete失败,这时银行就亏大了,明白?此时就要回滚,如果两者其中一者不成立,则都复

ThinkPHP 模型 - 事务支持

使用事务之前,先确保数据库的存储引擎支持事务操作. MyISAM:不支持事务,主要用于读数据提高性能 InnoDB:支持事务.行级锁和并发 Berkeley DB:支持事务 <?php /** * 事务测试 */ public function transaction() { $modelA = model('A'); $modelA->startTrans(); // 开启事务A $result = $modelA->save($data1); if($result === false

ThinkPHP 处理商品添加的时候操作多张表 用事务解决。

#重新父类的add方法 public function add(){ #同时操作多装表,可以考虑用事务来做,要同时插入数据成功要么都不插输入数据. #开启事务的前提是表的引擎必须是InnoDB #开启事务 //mysql_query("STRAT TRANSACTION"); #--------------(1)插入商品的基本信息------------ #判断是否插件成功 if(($goods_id=parent::add())===FALSE){ return FALSE; } #

thinkphp对180万数据批量更新支持事务回滚

目前测试180万多的数据,大概是正常的,不知道再多了会怎么样了我们要给表改成 innodb类型 干货来了: set_time_limit(0); ini_set("memory_limit","800M");//180万数据  数据越多越消耗内存 $t1 = microtime(true); $Model = M('orderlisttest');//先用 M 函数实例化一个空对象 $rr['goods_tuihuo']=1; $subQuery = $Model-

ThinkPHP - 事务操作

/* * 添加酒店和房型 * */ public function insertAll($arr_hotel=array(),$arr_room=array()){ $model = new Model(); $model->startTrans(); $flag=false; $hid = $model->table(C('DB_PREFIX').'hotel')->add($arr_hotel); if( $hid && count($arr_room) ==0 ){

ThinkPHP V5.0 正式版发布

ThinkPHP5.0 正式版的发布,是团队中秋节送给PHP开发者最好的礼物!祝大家中秋快乐,事业顺利,用ThinkPHP开发更健康^_^ ThinkPHP5.0版本是一个颠覆和重构版本,官方团队历时十月,倾注了大量的时间和精力,采用全新的架构思想,引入了更多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,支持composer,并针对API开发做了大量的优化,包括路由.日志.异常.模型.数据库.模板引擎和验证等模块都已经重构(基础教程qkxue.net),不适合原有3.2项目的升级