pdo-事物处理

来源:互联网 发布:投稿系统 php 编辑:程序博客网 时间:2024/05/22 02:19
<?phpheader('content-type:text/html;charset=utf-8');try{    $option=array(PDO::ATTR_AUTOCOMMIT,0); //默认为   自动提交开启  设置为 0 关闭;    $pdo=new PDO('mysql:host=localhost;dbname=test','root','root',$option);    var_dump($pdo->inTransaction()); //检查是否在一个事务内,如果当前事务处于激活,则返回 TRUE ,否则返回 FALSE 。    $pdo->beginTransaction();        //开启事物    var_dump($pdo->inTransaction()); //检查是否在一个事务内,如果当前事务处于激活,则返回 TRUE ,否则返回 FALSE 。    $res=$pdo->exec("update shop set price=price-200 where name='a'");    if($res==0){        throw new PDOException('手机转账失败');    }    $res1=$pdo->exec("update shop set price=price+200 where name='b'");    if($res1==0){        throw new PDOException('电脑转账失败');    }    $pdo->commit();}catch(PDOException $e){    $pdo->rollback();    echo $e->getMessage();}?>
0 0