PHP的SQLHelper庫本身并不直接支持事務處理。然而,你可以通過使用PDO(PHP Data Objects)或MySQLi擴展來實現事務處理功能。
以下是一個使用PDO實現事務處理的示例:
<?php
// 連接數據庫
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'username';
$password = 'password';
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 開始事務處理
$pdo->beginTransaction();
// 執行SQL語句
$stmt1 = $pdo->prepare("INSERT INTO table1 (column1, column2) VALUES (?, ?)");
$stmt1->execute(['value1', 'value2']);
$stmt2 = $pdo->prepare("UPDATE table2 SET column1 = ? WHERE column2 = ?");
$stmt2->execute(['new_value', 'condition']);
// 提交事務處理
$pdo->commit();
} catch (PDOException $e) {
// 回滾事務處理
if ($pdo->inTransaction()) {
$pdo->rollBack();
}
echo "Error: " . $e->getMessage();
}
?>
在這個示例中,我們使用PDO連接到數據庫,并嘗試執行兩個SQL語句。如果兩個語句都成功執行,我們將提交事務處理。如果在執行過程中發生任何錯誤,我們將回滾事務處理以確保數據的一致性。