pdo错误处理模式与事务处理

来源:互联网 发布:ios 淘宝商品详情 编辑:程序博客网 时间:2024/04/29 07:28
<?php/*    PDO::ERRMODE_SILENT 默认模式,静默模式    PDO::ERRMODE_WARNING 警告模式    PDO::ERRMODE_EXCEPTION 异常模式*//*    beginTransaction() 启动一个事务    commit() 提交一个事务    rollBack()回滚一个事务    inTransaction() 查看是否在事务内*///事务处理try{    header('Content-Type:text/html; charset=utf-8'); //网页utf8    $pdo = new PDO ('mysql:host=localhost;dbname=test', 'test', '123456'); //连接数据库    $pdo->query("set names utf8"); //数据库utf8    //错误处理模式    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);    //关闭自动提交    $pdo->setAttribute(PDO::ATTR_AUTOCOMMIT,0);    //开启事务    $pdo->beginTransaction();    $sql1 = "UPDATE userAccount SET money = money - 2000 WHERE username = 'boss'";    $sql2 = "UPDATE userAccount SET money = money + 2000 WHERE username = 'worker'";    $res1 = $pdo->exec($sql1);    if($res1 == 0){        throw new PDOException('boss转账失败');    }    $res2 = $pdo->exec($sql2);    if($res2 == 0){        throw new PDOException('worker接受失败');    }    //提交    $pdo->commit();}catch(PDOException $e){    //回滚    $pdo->rollBack();    echo $e->getMessage();}?>
0 0
原创粉丝点击