1 <?php
2 header('content-type:text/html;charset=utf-8');
3 $dsn='mysql:host=localhost;dbname=test'; 4 $pdo=new PDO($dsn,'root',''); 5 $pdo->exec('set names utf8'); 6 7 $pdo->beginTransaction(); //开启事务 8 9 $sql1="UPDATE users SET money=money+100 WHERE id=100"; 10 $res1=$pdo->exec($sql1); 11 $sql2="UPDATE users SET money=money+100 WHERE id=2"; 12 $res2=$pdo->exec($sql2); 13 14 if ($res1>0 && $res2>0) { 15 $pdo->commit(); //事务提交 16 echo '操作成功'; 17 }else { 18 $pdo->rollback(); //事务回滚 19 echo '操作失败'; 20 } 21 $pdo->setATTribute(PDO::ATTR_AUTOCOMMIT,1); //事务结束后,还原设置为自动提交单独语句 22 $pdo=null; //关闭连接 23 ?>
PDO操作MySql的方式中。$pdo->exec($sql):返回受影响的条数
MySQLi的方式中。还需要调用 affected_rows();才可以获取受影响的条数