PHP mysqli autocommit() 函数

定义和用法

autocommit() / mysqli_autocommit() 函数用于开启或关闭数据库修改的自动提交功能。

提示:还可以查看 commit() 函数,它用于提交指定数据库连接的当前事务;以及 rollback() 函数,它用于回滚当前事务。

实例

例子 1 - 面向对象风格

关闭自动提交,执行一些查询,然后提交这些查询:

<?php
$mysqli = new mysqli("localhost","my_user","my_password","my_db");

if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

// 关闭自动提交
$mysqli -> autocommit(FALSE);

// 插入一些值
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
$mysqli -> query("INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");

// 提交事务
if (!$mysqli -> commit()) {
  echo "Commit transaction failed";
  exit();
}

$mysqli -> close();
?>

例子 2 - 过程式风格

关闭自动提交,执行一些查询,然后提交这些查询:

<?php
$con=mysqli_connect("localhost","my_user","my_password","my_db");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit;
}

// 关闭自动提交
mysqli_autocommit($con,FALSE);

// 插入一些值
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Peter','Griffin',35)");
mysqli_query($con,"INSERT INTO Persons (FirstName,LastName,Age)
VALUES ('Glenn','Quagmire',33)");

// 提交事务
if (!mysqli_commit($con)) {
  echo "Commit transaction failed";
  exit();
}

// 关闭连接
mysqli_close($con);
?>

语法

面向对象风格:

$mysqli -> autocommit(mode)

过程式风格:

mysqli_autocommit(connection, mode)
参数 描述
connection 必需。指定要使用的 MySQL 连接。
mode 必需。FALSE 关闭自动提交,TRUE 开启自动提交(并提交所有等待的查询)。

技术细节

返回值: 成功时返回 TRUE,失败时返回 FALSE。
PHP 版本: 5+