PHP学习笔记【四】之《数据库抽象层PDO---PDO事务处理》
2017-02-25 22:13
399 查看
一、PDO错误处理模式
二、PDO事务处理
<?php /* PDO::ERRMODE_SLIENT:默认模式,静默模式 PDO::ERRMODE_WARNING:警告模式 PDO::ERRMODE_EXCEPTION:异常模式 */ try{ $pdo=new PDO('mysql:host=localhost;dbname=my_db','root',''); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql='SELECT * FROM noneTable'; $pdo->query($sql); echo $pdo->errorCode(); echo '<br/>'; print_r($pdo->errorInfo()); }catch(PDOException $e){ echo $e->getMessage(); } ?>
二、PDO事务处理
<?php header('content-type:text/html;charset=utf-8'); try{ $dsn='mysql:host=localhost;dbname=my_db'; $username='root'; $passwd=''; $options=array(PDO::ATTR_AUTOCOMMIT,0); $pdo=new PDO($dsn, $username, $passwd, $options); var_dump($pdo->inTransaction()); //开启事务 $pdo->beginTransaction(); var_dump($pdo->inTransaction()); //$sql='UPDATE userAccount SET money=money-2000 WHERE username="zzc"'; $sql='UPDATE userAccount SET money=money-2000 WHERE username="zzccc"'; $res1=$pdo->exec($sql); if($res1==0){ throw new PDOException('zzc 转账失败'); } $res2=$pdo->exec('UPDATE userAccount SET money=money+2000 WHERE username="jason"'); if($res2==0){ throw new PDOException('jason 接收失败'); } //提交事务 $pdo->commit(); }catch(PDOException $e){ //回滚事务 $pdo->rollBack(); echo $e->getMessage(); } ?>
相关文章推荐
- PHP学习笔记【二】之《数据库抽象层PDO---PDO连接数据库》
- PHP学习笔记【一】之《数据库抽象层PDO---PDO简介、配置与启用》
- PHP学习笔记【三】之《数据库抽象层PDO---PDOStatement对象的使用》
- PHP PDO基础认知和学习笔记
- PHP PDO 学习笔记
- PHP PDO 学习笔记
- PHP学习笔记(15)PDO数据库操作+AJAX无刷新技术删除用户
- php学习笔记之PDO连接数据库及一些操作
- php学习笔记之PDO预处理
- PHP学习笔记之PDO
- PHP学习笔记之PDO
- PHP PDO 学习笔记
- PHP PDO 学习笔记
- php学习笔记(二十三)PDO的预处理语句的查询以及结果集的使用
- PHP PDO学习笔记
- PHP学习笔记13——SQL支持(mysql库与PDO)
- php pdo学习笔记
- PHP学习笔记:PDO连接MySQL
- php学习笔记(二十三)PDO的预处理语句的查询以及结果集的使用
- PHP PDO 学习笔记