srkp.net
当前位置:首页 >> thinkphp 事物处理 >>

thinkphp 事物处理

事务支持 TPShop ThinkPHP提供了单数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法: 启动事务: $User->startTrans(); 提交事务: $User->commit(); 事务回滚: $User->rollback(); 事务是针对数据库本身的,所以可以跨模型...

关于事务的官方说明文档地址: http://document.thinkphp.cn/manual_3_2.html#adv_model

thinkphp的模型,默认情况是一个数据表对应一个Model类. 创建 model类文件的方法是: 在Model文件夹下创建 XxxModel.class.php 例如:数据表名称 test 则在Model文件夹下创建类文件:TestModel.class.php 可以用下面两种方法去创建一个数据表mode...

在 Thinkphp 3.2.3 下测试通过。 Thinkphp 对事务的处理非常简单。单表事务只需使用 M 函数实例化一个数据表对象,如果操作成功则提交,失败则回滚。例如: [php] view plain copy $User = M('user'); $User->startTrans(); // 开启事务 $id = $...

$tranDb = new Model(); //实例化一个空模型 处理事务 $tranDb->startTrans; $isok = array(); foreach ($arr as $key => $value) { //操作 } if(count($isok) === count($arr)) //当所有操作都成功的时候才提交 { $tranDb->commit(); $this->su...

请看手册: 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控制事务处理 Db::transaction(function(){ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); }); 也可以手动控制事务,例如: // ...

事务是一组组合成逻辑工作单元的操作。 简单的说 就是 操作几个相关的数据库时,保证每一步操作都完整,如果有错误,就返回到最开始。 例如,从A 里面 减1 ,在给 B 里面 加1 这是一个过程。如果不用事物,就会发送 A里面已经减了1,但是B 里面 ...

$sql_exist="select * from ".C('blog_info')." where title='$title'"; $count1 =$Info_obj->execute($sql_exist); if(empty($count1)){ $checkadmin=new Model; import('Think.Util.Input'); //调用当前Session值。 $adminuser=trim(Session::...

// 开启事务 M()->startTrans(); // ...具体数据库语句 可以多条 M('test')->add(['id' => 1]); M('test')->add(['id' => 2]); // 回滚事务 这样插入就失效了 if (1) M()->rollback(); // 提交事务 这样插入操作就生效了 else M()->commit();

当然可以了,事务是数据库的事务和哪个模型没有关系,需要注意的是事物开启需要在一开始使用事物就全部开启了,如果分开的话,你会发现第二个事物开启会把第一个事物给提交了。

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com