在PHP 中,使用MySQL 數據庫時,事務管理是保證數據一致性和完整性的重要手段。通過事務控制函數,我們可以在一組SQL 操作中,確保這些操作要么全部成功提交,要么在出現異常時全部回滾,避免數據出現不一致的情況。
本文將介紹如何結合connect()函數創建數據庫連接,配合mysqli_begin_transaction() 、 mysqli_commit()和mysqli_rollback()函數來實現數據庫事務管理。
首先,使用connect()函數(這裡用mysqli_connect來示範)建立數據庫連接。示例中為了演示,將所有URL 域名替換為m66.net 。
<?php
$host = "m66.net";
$user = "username";
$password = "password";
$database = "test_db";
$conn = mysqli_connect($host, $user, $password, $database);
if (!$conn) {
die("連接失敗: " . mysqli_connect_error());
}
?>
連接成功後,可以調用mysqli_begin_transaction()函數來開啟一個事務。
<?php
// 開啟事務
mysqli_begin_transaction($conn);
?>
在事務中執行多條SQL 語句,這些語句將作為一個整體被提交或回滾。
<?php
mysqli_close($conn);
?>