php实现基于pdo的事务处理方法示例
php  /  管理员 发布于 7年前   149
本文实例讲述了php实现基于pdo的事务处理方法。分享给大家供大家参考,具体如下: 实例1: try {} catch () {} 形式 实例2: if…else…形式 注意: 数据表需要 InnoDB 类型 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);} catch (PDOException $e) { die("数据库连接失败".$e->getMessage());}//2.执行数据操作try{ //开启事物,此时会关闭自动提交 $pdo->beginTransaction(); $sql = "insert into cy_log (logid, value, action, file) values (?, ?, ?, ?)"; $stmt = $pdo->prepare($sql); //传入参数 $stmt->execute(array(null,"test4","w",11)); $stmt->execute(array(null,"test5","w",11)); $stmt->execute(array(null,"test3","w",11)); //提交事物,并且 数据库连接返回到自动提交模式 $pdo->commit();}catch(PDOException $e){ echo '执行失败'.$e->getMessage(); //如果数据库被设置成自动提交模式,rollback 在回滚事务之后将恢复自动提交模式。 //包括 MySQL 在内的一些数据库, 当在一个事务内有类似删除或创建数据表等 DLL 语句时,会自动导致一个隐式地提交。 //隐式地提交将无法回滚此事务范围内的任何更改。即 DDL 语句无法回滚 $pdo->rollback();}
getMessage());}//2.执行数据操作//开启事物$pdo->beginTransaction();$sql = "insert into cy_log (logid, value, action, file) values (?, ?, ?, ?)";$stmt = $pdo->prepare($sql);$datalist = array( array(null,"test9","w",11), array(null,"test10","w",11), array(null,"test11","w",11));//是否提交标志位$isCommit = true;foreach($datalist as $data){ $stmt->execute($data); if($stmt->errorCode()>0){ //回滚 $pdo->rollback(); $isCommit = false; break; }}if($isCommit){ //提交事物 $pdo->commit();}
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号