<?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="" />
pdo事物
最新推荐文章于 2021-03-23 06:23:06 发布