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 參考