PHP 操作 MySQL 执行数据库事务
时间:2021-07-01 10:21:17
帮助过:2人阅读
$mysqli=
new mysqli();
//实例化mysqli
$mysqli->connect(‘localhost‘,‘root‘,‘admin‘,‘test‘
);
if(
mysqli_connect_error()){
exit(‘数据库连接错误,错误信息是.‘.
mysqli_connect_error());
}
$mysqli->set_charset("UTF8");
//设置数据库编码
//首先你必须关闭自动提交数据
$mysqli->autocommit(
false);
//创建一个SQL语句,必须同时运行成功,不能出现一个成功,一个失败
$sql .= "UPDATE `friend` SET state=state+5 WHERE id=1;"
;
$sql .= "UPDATE `flower` SET tg_flower=flower-5 WHERE id=1;"
;
//执行两条SQL语句
if (
$mysqli->multi_query(
$sql)) {
//获取第一条SQL一影响的行数
$success =
$mysqli->affected_rows == 1 ?
true :
false;
//下移,第二条SQL
$mysqli->
next_result();
//获取第二条SQL影响的行数
$success2 =
$mysqli->affected_rows == 1 ?
true :
false;
//判断是否都正常通过了,两个SQL
if (
$success &&
$success2) {
$mysqli->
commit();
echo ‘完美提交!‘
;
} else {
$mysqli->
rollback();
echo ‘程序出现异常!‘
;}
} else {
echo "SQL语句有误:".
$mysqli->errno.
$mysqli->
error;
}
//最后还必须开启自动提交
$mysqli->autocommit(
true);
$result->free();
//释放查询内存(销毁)
$mysqli->close();
//别忘了关闭你的"小资源";
?>
PHP 操作 MySQL 执行数据库事务
标签: