事务是数据库管理的一个重要方面,它确保一系列数据库操作的顺序要么完全执行,要么在发生任何错误时回滚。使用 MySQL 的 PHP mysqli 扩展,事务通过两个基本函数进行处理:
$mysqli->autocommit(FALSE); // Start transaction $mysqli->commit(); // End transaction
要启动事务,您需要调用 $mysqli->autocommit(FALSE );。这将禁用自动提交,从而允许您在同一事务中执行多个查询。
事务启动后,您可以在其中执行任意数量的查询。但是,在您显式提交事务之前,这些查询不会永久应用于数据库。
$mysqli->commit();函数完成事务并将该事务期间所做的所有更改应用到数据库。如果没有错误,则事务成功,并且更改将永久生效。
如果事务期间发生错误,或者需要恢复所做的更改,你可以调用 mysqli->rollback();而不是 mysqli->commit();。这将丢弃该事务中所做的所有更改,数据库将返回到之前的状态。
以下代码片段演示了如何在 mysqli 中启动和结束事务:
$mysqli->autocommit(FALSE); $mysqli->query("UPDATE `table` SET `col` = 2"); $mysqli->query("UPDATE `table1` SET `col1` = 3"); $mysqli->commit(); // End transaction
在此示例中,两个查询语句在同一事务中执行。但是,在提交事务之前,不会将任何更改应用于数据库。如果$mysqli->commit();之前发生任何错误被调用时,可以通过调用 $mysqli->rollback();.
来回滚更改以上是如何使用 PHP 的 mysqli 扩展管理 MySQL 数据库事务?的详细内容。更多信息请关注PHP中文网其他相关文章!