数据库事务
(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列
操作
,要么完全地执行,要么完全地不执行。
<?php
$mysqli=new mysqli('localhost','root','root','test1');
if($mysqli->connect_error)
{
die ("连接失败".$mysqli->error);
}
//事务一旦提交将无法回滚
$mysqli->autocommit(false);//将提交设置为false(默认不提交)
$sql1="update account set balance=balance-1 where id=0";
$sql2="update account set balance=balance+1 where id=2";
//如将id=1的资金减一放入id=2的资金中,两条sql语句必须都执行,则需用到事务
$b1=$mysqli->query($sql1);
$b2=$mysqli->query($sql2);
if(!$b1||!$b2)
{
echo "失败".$mysqli->error;
$mysqli->rollback();//回滚
}
else
{
echo "成功";
$mysqli->commit();//提交
}
$mysqli->close();
?>