<?php
//事务处理
try{
$dsn = 'mysql:host=localhost;dbname=test;charset=utf8';
$pdo= new PDO($dsn,'root','');
//设置属性 关闭自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,false);
//开启事务操作
$pdo->beginTransaction();
//从张三账户扣钱
$sql = "UPDATE money SET money=money-5000000 WHERE uname = 'zhangsan'";
$result1=$pdo->exec($sql);
//向李四账户打钱
$sql = "UPDATE money SET money=money+5000000 WHERE uname = 'lisi'";
$result2=$pdo->exec($sql);
if($result1 && $result2){
echo '确认完成 进行提交操作';
$pdo->commit();
}else{
echo '操作失败 回滚事务';
$pdo->rollback();
}
//开启自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,true);
}catch(PDOException $e){
echo $e->getMessage();
}
php使用pdo处理事务操作
于 2022-08-12 17:33:34 首次发布