在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();
- 执行SQL操作:
$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操作时出现错误,事务将回滚,保证数据的一致性。如果所有操作都成功执行,事务将提交。