php什么时候用事务
php  /  管理员 发布于 7年前   125
在某些程序在执行的时候需要进行多个动作,而我们的业务要求是某个动作在执行错误的时候该进程所有的动作都不再执行,全部执行成功才算成功,否则就回到执行之前的状态,这就需要用到事务的处理。 (推荐学习:PHP视频教程)
原生代码如下:
<?php$link = mysqli_connect('localhost','username','password');//创建链接if(!$link) exit('数据库连接失败');//判断是否链接成功mysqli_set_charset($link , 'utf8');//设置字符集mysqli_select_db($link,'myDatabase');//选择数据库$sql1 = "正确的插入语句";//准备sql语句$sql2 = "错误的插入语句";$result1 = mysqli_query($link , $sql1);//发送sql语句$result2 = mysqli_query($link , $sql2);if($result1 && $result2) {mysql_query(“COMMIT”);//提交事务echo "提交成功";} else {mysql_query("ROLLBACK");echo '数据回滚';}mysql_query("END");//事务结束
PDO 代码如下:
try { //实例化PDO对象 $pdo = new PDO("mysql:host=localhost;dbname=test","root","root",array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); //开启事务 $pdo->beginTransaction(); //执行sql语句 $pdo->exec("insert into t1(username,password,rtime,rip) values('shiwu2','shiwu2','456456456','456456456')"); $pdo->exec("insert into t2(username,password,rtime,rip) values('shiwu2',shiwu2','456456456','456456456')"); //提交事务 $pdo->commit(); //PDO PDOStatement PDOException} catch(PDOException $e) { //回滚事务 $pdo->rollBack(); echo "数据回滚"; }
TP5 框架中使用事务
//模型方法function demo{//开启事务$this->startTrans();//业务逻辑操作$data['id'] = 1;$res = $this->insertUserInfo($data);//保存用户信息if($res) {//提交事务$this->commit();return $res;} else {//事务回滚$this->rollback();}}
以上就是php什么时候用事务的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号