数据库的事务处理---PDO实现
时间:2021-07-01 10:21:17
帮助过:29人阅读
<?
php
2 try{
3 $pdo=
new PDO("mysql:host=localhost;dbname=test","root","root"
);
4 $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::
ERRMODE_EXCEPTION);
5
6 $pdo->beginTransaction();
//开始一个事务
7
8 //操作一
9 $num_1=
$pdo->
exec("delete from test_pdo where id=2"
);
10 if(
$num_1<=0
){
11 throw new PDOException("action one is failed"
);
12 }
13
14 //操作二
15 $num_2=
$pdo->
exec("delete from test_pdo where id=3"
);
16 if(
$num_2<=0
){
17 throw new PDOException("action two is failed"
);
18 }
19
20 //执行到此处,证明来两个操作都成功了,可以提交
21 $pdo->
commit();
22 echo "all action is success\n"
;
23 }
catch (PDOException
$e){
24 //如果抛出异常,则证明至少有一个操作未完成,于是rollback,取消已经完成的操作
25 $pdo->
rollback();
26 echo $e->
getMessage();
27 }
这只是一个最简单的事务处理,如果能明白这个代码,相信你已经对事务处理有一定理解了
数据库的事务处理---PDO实现
标签:from name one exception 证明 mysq llb 增加 try