ThinkPHP实现事务回滚示例代码(附加:PDO的事务处理)
ThinkPHP的事务回滚示例如下:
$m=D('YourModel');//或者是M();
$m2=D('YouModel2');
$m->startTrans();//在第一个模型里启用就可以了,或者第二个也行
$result=$m->where('删除条件')->delete();
$result2=m2->where('删除条件')->delete();
if($result && $result2){
$m->commit();//成功则提交
}else{
$m->rollback();//不成功,则回滚
}
PDO的事务回滚处理:
$servername="localhost";
$username="root";
$password="admin";
$dbname="test";
try{
$conn=new PDO("mysql:host=$servername;dbname=$dbname",$username,$password);
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
//开始事务
$conn->beginTransaction();
$conn->exec("INSERT INTO `hello`(`firstname`,`lastname`,`email`)VALUES('YE','XIAMING','yexianming@163.com')");
$conn->exec("INSERT INTO `hello`(`firstname`,`lastname`,`email`)VALUES('YE','CONG','yecong@163.com')");
$conn->exec("INSERT INTO `hello`(`firstname`,`lastname`,`email`)VALUES('FANG','MENG','fangmeng@168.com')");
//提交事务
$conn->commit();
echo "New records created successfully!";
}catch(PDOException $e){
//回滚事务
$conn->rollBack();
echo $sql."<br>".$e->getMessage();
}
$conn=NULL;
ThinkPHP实现事务回滚示例代码(附加:PDO的事务处理)的更多相关文章
- ThinkPHP实现事务回滚示例代码
ThinkPHP的事务回滚示例如下: ? 1 2 3 4 5 6 7 8 9 10 $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->sta ...
- ThinkPHP 实现数据库事务回滚示例代码
ThinkPHP提供了数据库的事务支持,如果要在应用逻辑中使用事务,可以参考下面的方法: 启动事务: $User->startTrans(); 提交事务: $User->commit( ...
- thinkphp 的事务回滚处理 和 原始PHP的事务回滚实例
1. 要程序里面支持事务,首先连接的数据库和数据表必须支持事务 mysql 为例: 数据库InnoDB支持 transactions 数据表支持事务:InnoDB 支持transaction ...
- Try-Catch包裹的代码异常后,竟然导致了产线事务回滚!
导读:一段被try-catch包裹后的代码在产线稳定运行了200天后忽然发生了异常,而这个异常竟然导致了产线事务回滚.这期间究竟发生了什么?日常在项目过程中该如何避免事务异常?就在这个时候,老板拿着 ...
- springboot手动事务回滚
亲测在使用@Transactional.@Transactional(rollbackFor = Exception.class)及catch异常之后 throw new RuntimeExcepti ...
- Spring 事务回滚代码
在事务中实行的方法:org.springframework.transaction.interceptor.TransactionAspectSupport#invokeWithinTransacti ...
- thinkphp curd的事务回滚 一看就会
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/qq1355541448/article/details/32314403 /** ...
- ASP.NET(C#)事务的创建、提交以及回滚 (附代码)
1.事务是什么? 事务是应用程序中一系列严密的操作,所有的操作必须全部成功完成,否则每个操作中的所有更改都会被撤销.也就是事务具有原子性,一个事务中的一系列操作要么全部成功,要么 ...
- [SQL]事务回滚详解及示例
存储过程中的 SET XACT_ABORT ON 和事务 在存储过程中写SET XACT_ABORT ON 有什么用? SET XACT_ABORT ON是设置事务回滚的! 当为ON时,如果你存储中的 ...
随机推荐
- python开发_counter()
在python的API中,提到了Counter,它具有统计的功能 下面是我做的demo: 1.统计自定义字符串中每个字符出现的次数 2.读取一个文件,把文件中的内容转化为字符串,统计该字符串中每个字符 ...
- April Fools Day Contest 2016 B. Scrambled
B. Scrambled 题目连接: http://www.codeforces.com/contest/656/problem/B Description Btoh yuo adn yuor roo ...
- Acdream 1738 世风日下的哗啦啦族I 树套树
世风日下的哗啦啦族I Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acdream.info/problem?pid=1738 Descri ...
- VMware中网络设置之host-only
有了前面一篇的NAT的网络设置,本文就显得非常简单了.同样图文结合的步骤: 1.设置host-only模式. 2.设置linux虚拟机的静态IP.进入linux系统,点击主菜单---系统设置---网络 ...
- ExifInterface针对照片的使用
ExifInterface是保存照片信息的,那么我们在有需要的时候就可以通过这类,来获取照片的一些数码参数来做适当来逻辑处理,比较典型的案例就是android有的机型拍照或者选择照片后,照片可能会被旋 ...
- js利用正则替换图片路径问题
/* * 需求:给图片的src地址前面增加为assets * * 1. 将需要匹配的内容原封不动的写入正则表达式 * 2. 将改变的内容替换为.*? * 3. 将.*?添加(),目的是为了能够将src ...
- 自定义的tabBarController的几种方法
本文转载自:http://blog.sina.com.cn/s/blog_79c5bdc30100t88i.html 我自己实现的一种可以很方便的实现更换TabBarController图片的方法,代 ...
- time.h time_t
#include <stdio.h> #include <stddef.h> #include <time.h> int main(void) { time_t t ...
- OpenCV学习(8) 分水岭算法(2)
现在我们看看OpenCV中如何使用分水岭算法. 首先我们打开一副图像: // 打开另一幅图像 cv::Mat image= cv::imread("../to ...
- 正向代理/反向代理理解、Nginx概述、安装及配置详解
一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理, ...