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 }
ThinkPHP 3.2.2 事务
时间: 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项目的升级