牛牛在线工具

mysqli::begin_transaction()

收录 8868 个 PHP 函数,含用途说明与用法示例。

mysqli::begin_transaction()

在MySQL数据库上启动一个事务

函数名称:mysqli::begin_transaction() 适用版本:PHP 5 >= 5.5.0, PHP 7 函数描述:该函数用于在MySQL数据库上启动一个事务。 用法: mysqli::begin_transaction(int $flags = 0, string $name = NULL) : bool 参数: $flags:可选参数,用于指定事务的行为。默认为0,表示使用默认行为。可以使用以下常量进行设置: MYSQLI_TRANS_START_READ_ONLY:启动只读事务 MYSQLI_TRANS_START_READ_WRITE:启动读写事务 MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT:启动一致性快照事务 $name:可选参数,用于指定事务的名称。如果使用InnoDB引擎并且支持命名事务,则可以使用此参数。 返回值: 如果事务成功启动,则返回true;否则返回false。 示例: // 创建数据库连接 $mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功 if ($mysqli->connect_errno) { die("连接数据库失败:" . $mysqli->connect_error); } // 启动读写事务 if ($mysqli->begin_transaction(MYSQLI_TRANS_START_READ_WRITE)) { try { // 执行事务操作 $mysqli->query("INSERT INTO users (name, email) VALUES ('John', 'john@example.com')"); $mysqli->query("UPDATE users SET email = 'new_email@example.com' WHERE id = 1"); // 提交事务 $mysqli->commit(); echo "事务已提交"; } catch (Exception $e) { // 回滚事务 $mysqli->rollback(); echo "事务已回滚:" . $e->getMessage(); } } else { echo "无法启动事务"; } // 关闭数据库连接 $mysqli->close(); 以上示例演示了如何使用mysqli::begin_transaction()函数启动一个读写事务,并在事务中执行插入和更新操作。如果事务成功执行,则提交事务;如果发生异常,则回滚事务。注意在使用事务时,必须确保数据库引擎支持事务操作,例如InnoDB引擎。