mysqli
是 PHP 中用于与 MySQL 数据库进行交互的扩展。事务(Transaction)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。事务具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),即 ACID 特性。
MySQL 支持多种事务隔离级别:
事务常用于需要保证数据一致性的场景,例如:
以下是一个使用 mysqli
进行事务处理的示例:
<?php
$host = 'localhost';
$user = 'username';
$password = 'password';
$database = 'database_name';
// 创建连接
$conn = new mysqli($host, $user, $password, $database);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 开始事务
$conn->begin_transaction();
try {
// 执行 SQL 语句
$sql1 = "UPDATE accounts SET balance = balance - 100 WHERE id = 1";
$sql2 = "UPDATE accounts SET balance = balance + 100 WHERE id = 2";
if ($conn->query($sql1) === TRUE && $conn->query($sql2) === TRUE) {
// 提交事务
$conn->commit();
echo "事务提交成功";
} else {
// 回滚事务
$conn->rollback();
echo "事务回滚";
}
} catch (Exception $e) {
// 发生异常时回滚事务
$conn->rollback();
echo "发生异常: " . $e->getMessage();
}
// 关闭连接
$conn->close();
?>
commit()
方法。rollback()
方法。希望以上信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云