MySqli事务控制

事务就是将多个逻辑工作组合成一个执行单元的数据库操作(一起成功|一起失败)

注:数据库的存储引擎必须为InnoDB

 1 <?php
 2   header('content-type:text/html;charset=utf-8');
 3   $mysqli=new mysqli('localhost','root','','test');
 4   $mysqli->query('set names utf8'); 
 5 
 6   $mysqli->autocommit(false); //开启事务 存储引擎:InnoDB
 7   $sql1="UPDATE users SET money=money-10 where id=1"; 
 8   $sql2="UPDATE users SET money=money+10 where id=100";
 9   $mysqli->query($sql1);
10   $res1=$mysqli->affected_rows;
11   $mysqli->query($sql2);
12   $res2=$mysqli->affected_rows;
13   if ($res1>0 && $res2>0) {
14     $mysqli->commit(); //事务提交
15     echo '操作成功';
16   }else {
17     $mysqli->rollback(); //事务回滚
18     echo '操作失败';
19   }
20   
21  ?>

 

posted @ 2018-12-21 02:40  大羊树  阅读(121)  评论(0编辑  收藏  举报