PHP MySQL 事务示例
PHP 和 MySQL 中的事务允许您将一组查询分组为单个原子工作单元。这意味着如果其中一个查询失败,事务所做的所有更改都会回滚。
如何使用事务
在 PHP 和MySQL,您将需要:
示例
以下是如何在 PHP 和 MySQL 中使用事务的简单示例:
mysql_query("SET AUTOCOMMIT=0"); mysql_query("START TRANSACTION"); $a1 = mysql_query("INSERT INTO rarara (l_id) VALUES('1')"); $a2 = mysql_query("INSERT INTO rarara (l_id) VALUES('2')"); if ($a1 and $a2) { mysql_query("COMMIT"); } else { mysql_query("ROLLBACK"); }
在此示例中,仅当 $a1 和 $a2 都成功时才会执行 COMMIT 语句。如果任一查询失败,则会执行 ROLLBACK 语句。
使用 PDO 进行事务
PDO 类提供了一种更现代、面向对象的工作方式MySQL 事务。要使用 PDO 进行事务,您需要:
示例
以下是如何使用 PDO 进行事务的示例:
try { $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->beginTransaction(); $pdo->exec("INSERT INTO rarara (l_id) VALUES('1')"); $pdo->exec("INSERT INTO rarara (l_id) VALUES('2')"); $pdo->commit(); } catch (\PDOException $e) { $pdo->rollback(); throw $e; }
在此示例中,仅当两个查询都成功时才会调用 commit() 方法。如果任一查询失败,则会调用 rollback() 方法并引发异常。
以上是如何在 PHP 中有效管理 MySQL 事务?的详细内容。更多信息请关注PHP中文网其他相关文章!