PHP mysqli rollback() 函数
示例 - 面向对象风格
关闭自动提交,执行一些查询,提交查询,然后回滚当前事务
<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");
if ($mysqli -> connect_errno) {
echo "无法连接到 MySQL: " . $mysqli -> connect_error;
exit();
}
// 关闭自动提交
$mysqli -> autocommit(FALSE);
// 插入一些值
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
// 提交事务
if (!$mysqli -> commit()) {
echo "提交事务失败";
exit();
}
// 回滚事务
$mysqli -> rollback();
$mysqli -> close();
?>
查看底部过程式风格的示例。
定义和用法
rollback() / mysqli_rollback() 函数回滚指定数据库连接的当前事务。
提示:也请查看 commit() 函数,它提交当前事务,以及 autocommit() 函数,它打开或关闭自动提交数据库修改。
语法
面向对象风格
$mysqli -> rollback(flags, name)
过程式风格
mysqli_rollback(connection, flags, name)
参数值
参数 | 描述 |
---|---|
connection | 必需。指定要使用的 MySQL 连接 |
flags | 可选。一个常量
|
name | 可选。如果指定此参数,则执行 ROLLBACK/*name*/ |
技术细节
返回值 | 成功时为 TRUE。失败时为 FALSE |
---|---|
PHP 版本 | 5+ |
PHP 变更日志 | PHP 5.5: 添加了 flags 和 name 参数 |
示例 - 过程式风格
关闭自动提交,执行一些查询,提交查询,然后回滚当前事务
<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");
if (mysqli_connect_errno()) {
echo "无法连接到 MySQL: " . mysqli_connect_error();
exit;
}
// 关闭自动提交
mysqli_autocommit($con,FALSE);
// 插入一些值
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");
// 提交事务
if (!$mysqli_commit($con)) {
echo "提交事务失败";
exit();
}
// 回滚事务
mysqli_rollback($con);
// 关闭连接
mysqli_close($con);
?>
❮ PHP mysqli 参考