mysqli::autocommit

mysqli_autocommit

(PHP 5, PHP 7, PHP 8)

mysqli::autocommit -- mysqli_autocommit打开或关闭本次数据库连接的自动命令提交事务模式

说明

面向对象风格

mysqli::autocommit(bool $mode): bool

过程化风格

mysqli_autocommit(mysqli $link, bool $mode): bool

打开或关闭本次数据库连接的自动命令提交事务模式。

如需要确认当前连接的自动事务提交状态,可执行这个SQL请求SELECT @@autocommit.

参数

mysql

仅以过程化样式:由mysqli_connect()mysqli_init() 返回的 mysqli 对象。

mode

Whether to turn on auto-commit or not.

返回值

成功时返回 true, 或者在失败时返回 false

注释

注意:

这个方法不会在不支持事务处理的表单查询中生效,如MyISAM或 ISAM。

范例

示例 #1 mysqli::autocommit() example

面向对象风格

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

if (
mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

/* turn autocommit on */
$mysqli->autocommit(TRUE);

if (
$result $mysqli->query("SELECT @@autocommit")) {
    
$row $result->fetch_row();
    
printf("Autocommit is %s\n"$row[0]);
    
$result->free();
}

/* close connection */
$mysqli->close();
?>

过程化风格

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

if (!
$link) {
    
printf("Can't connect to localhost. Error: %s\n"mysqli_connect_error());
    exit();
}

/* turn autocommit on */
mysqli_autocommit($linkTRUE);

if (
$result mysqli_query($link"SELECT @@autocommit")) {
    
$row mysqli_fetch_row($result);
    
printf("Autocommit is %s\n"$row[0]);
    
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

以上例程会输出:

Autocommit is 1

参见