pdo事物

<?php
header('content-type:text/html;charset=utf-8');
/*
 * 事务处理具有四个特性:原子性、一致性、独立性、持久性。
 * 数据库引擎不能是不支持事物操作的 如果想不支持事物操作的 请用锁表法也能实现效果
 * 在事务中的 SQL 语句,如果出现错误,那么所有的 SQL 都不执行。当所有 SQL 有无误的时候,才提交执行。
 * */
try {
	/*
	 * 连接数据库
	 * */
	$pdo = new PDO('mysql:host=127.0.0.1;dbname=other', 'root', 'root');
	$pdo -> exec('set names utf8');
	/*
	 * 设置异常类 关闭自动提交
	 * */
	$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT, false);
	$pdo -> beginTransaction();
	/*
	 * $sql
	 * */
	$sql1 = 'update user set pwd=pwd-100 where uid=1';
	$sql2 = 'update user set pwd=pwd+100 where uid=2';
	$res1 = $pdo -> exec($sql1);
	$res2 = $pdo -> exec($sql2);
	/*
	 * 提交事物成功就执行 不成功一句sql的不执行
	 * */
	if ($res1 && $res2) {
		$pdo -> commit();
	}
} catch(PDOException $e) {
	/*
	 * 输出错误信息
	 * */
	$pdo -> rollBack();
	echo $e -> getMessage();

}
<img src="https://img-blog.csdn.net/20160909192253289?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值