PDO::rollBack
回滚事务
此函数适用于 PHP 版本 5 和以上。
PDO::rollBack() 用于回滚事务。如果启用了事务并发生了错误或需要撤销事务操作,调用此函数会撤销自事务开始以来的所有数据库操作。
PDO::rollBack();
此函数没有任何参数。
成功时返回 TRUE,失败时返回 FALSE。
// 启动事务
$pdo->beginTransaction();
// 执行一些数据库操作
$pdo->exec("INSERT INTO users (name, email) VALUES ('John Doe', '[email protected]')");
$pdo->exec("INSERT INTO users (name, email) VALUES ('Jane Doe', '[email protected]')");
// 发生错误,回滚事务
$pdo->rollBack();
echo "事务已回滚。";
} catch (Exception $e) {
// 如果有异常,回滚事务
if ($pdo->inTransaction()) {
$pdo->rollBack();
}
echo "发生错误: " . $e->getMessage();
}
?>
在上面的示例中,我们首先创建了一个 PDO 实例并启动了一个事务(beginTransaction)。然后我们执行了两条 INSERT 操作。接着,通过调用 rollBack() 函数回滚事务,从而撤销之前的操作。如果没有回滚,数据将会被提交。通过这种方式,保证了在事务过程中如果发生了错误,可以恢复到事务开始之前的状态。