首页 >后端开发 >php教程 >如何使用 PHP 的 mysqli 扩展管理 MySQL 数据库事务?

如何使用 PHP 的 mysqli 扩展管理 MySQL 数据库事务?

Susan Sarandon
Susan Sarandon原创
2024-12-05 11:51:13646浏览

How to Manage MySQL Database Transactions with PHP's mysqli Extension?

使用事务查询 MySQL 数据库

在 mysqli 中使用事务

事务是数据库管理的一个重要方面,它确保一系列数据库操作的顺序要么完全执行,要么在发生任何错误时回滚。使用 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn