<?php
header(‘content-type:text/html;charset=utf-8‘);
$dsn=‘mysql:host=localhost;dbname=test‘;
$pdo=new PDO($dsn,‘root‘,‘‘);
$pdo->exec(‘set names utf8‘);
$pdo->beginTransaction(); //开启事务
$sql1="UPDATE users SET money=money+100 WHERE id=100";
$res1=$pdo->exec($sql1);
$sql2="UPDATE users SET money=money+100 WHERE id=2";
$res2=$pdo->exec($sql2);
if ($res1>0 && $res2>0) {
$pdo->commit(); //事务提交
echo ‘操作成功‘;
}else {
$pdo->rollback(); //事务回滚
echo ‘操作失败‘;
}
$pdo->setATTribute(PDO::ATTR_AUTOCOMMIT,1); //事务结束后,还原设置为自动提交单独语句
$pdo=null; //关闭连接
?>
PDO操作MySql的方式中。$pdo->exec($sql):返回受影响的条数
MySQLi的方式中。还需要调用 affected_rows();才可以获取受影响的条数
原文:https://www.cnblogs.com/t-young1201/p/10153572.html