在PHP中處理數據庫事務,通常需要使用PDO(PHP Data Objects)擴展。以下是使用PDO處理事務的步驟:
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
try {
$conn = new PDO($dsn, $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
$conn->beginTransaction();
$sql1 = "INSERT INTO table1 (column1, column2) VALUES ('value1', 'value2')";
$sql2 = "UPDATE table2 SET column1 = 'value3' WHERE column2 = 1";
try {
$conn->exec($sql1);
$conn->exec($sql2);
} catch (PDOException $e) {
// 如果出現錯誤,回滾事務
$conn->rollback();
echo "Error: " . $e->getMessage();
}
$conn->commit();
$conn = null;
將以上代碼片段組合在一起,即可實現使用PDO處理事務的功能。如果在執行SQL操作時出現錯誤,事務將回滾,保證數據的一致性。如果所有操作都成功執行,事務將提交。