mysqli 事務處理

muqiao發表於2024-04-04
<?php
$mysqli = new mysqli("localhost", "username", "password", "database");
 
// 檢查連線是否成功
if ($mysqli->connect_error) {
    die("連線失敗: " . $mysqli->connect_error);
}
 
// 開啟一個事務
$mysqli->autocommit(false);
 
// 執行一些SQL操作
$result1 = $mysqli->query("INSERT INTO table1 (column1) VALUES ('value1')");
$result2 = $mysqli->query("UPDATE table2 SET column2 = 'value2' WHERE id = 1");
 
// 檢查操作是否都成功
if ($result1 && $result2) {
    // 提交事務
    $mysqli->commit();
    echo "事務成功";
} else {
    // 回滾事務
    $mysqli->rollback();
    echo "事務失敗";
}
 
// 重新開啟自動提交
$mysqli->autocommit(true);
 
// 關閉資料庫連線
$mysqli->close();
?>

相關文章