海印网
海印网

php 有哪些事务

admin数码00

php 中的事务是原子操作单元,要么全部成功要么全部回滚。它遵循 acid 原则,包括原子性、一致性、隔离性和持久性。要开始事务,使用 mysqli_begin_transaction();提交事务,使用 mysqli_commit();回滚事务,使用 mysqli_rollback()。事务示例:开始事务,执行两个更新语句,如果一个语句失败则回滚事务,否则提交事务。

php 有哪些事务-第1张图片-海印网

PHP 中的事务

什么是事务?
事务是一个原子操作单元,要么全部执行成功,要么全部失败回滚。

PHP 中的 ACID 事务
PHP 支持 ACID 事务,即:

  • 原子性(Atomicity):事务中的所有操作要么全部执行成功,要么全部回滚。
  • 一致性(Consistency):事务完成后,数据库的状态必须处于一致的状态。
  • 隔离性(Isolation):一个事务对其他事务的影响是隔离的。
  • 持久性(Durability):一旦事务提交,其更改将永久保存。

开始事务
要开始一个事务,请使用 mysqli_begin_transaction() 函数:

<?php $conn = new mysqli("host", "username", "password", "database");
$conn->begin_transaction();
?&gt;

登录后复制

提交事务
当事务中的所有操作完成后,请使用 mysqli_commit() 函数提交事务:

<?php $conn->commit();
?&gt;

登录后复制

回滚事务
如果事务中的某个操作失败,请使用 mysqli_rollback() 函数回滚事务:

<?php $conn->rollback();
?&gt;

登录后复制

事务示例
以下示例演示如何使用 PHP 中的事务:

<?php $conn = new mysqli("host", "username", "password", "database");

$conn->begin_transaction();

$sql = "UPDATE users SET balance = balance + 100 WHERE id = 1";
$conn-&gt;query($sql);

$sql = "UPDATE accounts SET balance = balance - 100 WHERE id = 2";
$conn-&gt;query($sql);

$conn-&gt;commit();
?&gt;

登录后复制

在本示例中,如果第二个更新语句失败,事务将回滚,并且两个更新语句都不会应用到数据库。

以上就是php 有哪些事务的详细内容,更多请关注其它相关文章!

Tags: 事务全部

Sorry, comments are temporarily closed!