PHP mysqli_begin_transaction MySQLi 函数
-
定义和用法
mysqli_begin_transaction - 开启一个事务 -
版本支持
PHP4 PHP5 PHP7 不支持 支持 支持 -
语法
mysqli_begin_transaction ( mysqli $link [, int $flags = 0 [, string $name ]] )
开始事务。 需要InnoDB引擎(默认情况下启用)。 -
参数
参数 必需的 描述 link 是 由mysqli_connect() 或 mysqli_init() 返回的链接标识。 flags 否 合法的值: - MYSQLI_TRANS_START_READ_ONLY: 以“ START TRANSACTION READ ON”的身份启动事务。 需要MySQL 5.6及更高版本。(排它锁,悲观锁)
- MYSQLI_TRANS_START_READ_WRITE: 以“ START TRANSACTION READ WRITE”开始事务。 需要MySQL 5.6及更高版本。(共享锁,乐观锁)
- MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: 以“START TRANSACTION WITH CONSISTENT SNAPSHOT”来启动事务。
link 否 事务的保存点名称。 -
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。 -
示例
<?php $link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila"); if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } mysqli_begin_transaction($link, MYSQLI_TRANS_START_READ_ONLY); mysqli_query($link, "SELECT first_name, last_name FROM actor LIMIT 1"); mysqli_commit($link); mysqli_close($link);
-
相关函数
mysqli_autocommit() - 打开或关闭本次数据库连接的自动命令提交事务模式mysqli_commit() - 提交一个事务mysqli_rollback() - 回退当前事务