多条SQL语句当成一个整体来进行执行,如果其中由一条SQL语句没有执行成功, 那么所有的SQL语句都要执行失败,将状态回滚到最初状态。 MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的! PDO::beginTransaction 启动一个事务 PDO::commit 提交一个事务 PDO::rollBack — 回滚一个事务 <?php$dsn = 'mysql:host = localhost;dbname=user;charset=utf8';try{ $pdo = new PDO($dsn,'root','123456'); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);}catch(PDOException $e){ die('数据库连接失败'.$e->getMessage());}try{ $pdo->beginTransaction(); $sql = 'update user set money=money-500 where id=1'; $ret = $pdo->exec($sql); if($ret >0){ echo "建驴转款成功 <br />"; }else{ throw new PDOException('建驴转款失败<br />'); }