(PHP 5, PHP 7, PHP 8)
mysqli::autocommit -- mysqli_autocommit — 打开或关闭本次数据库连接的自动命令提交事务模式
面向对象风格
$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($link, TRUE);
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