mysqli::autocommit
(mysqli_autocommit)打开或关闭自动提交数据库修改
mysqli::autocommit
PHP 5, PHP 7, PHP 8
mysqli::autocommit 函数用于开启或关闭对数据库连接的自动提交模式。 在自动提交模式下,每个查询语句会立即生效(即自动提交)。若关闭自动提交,可以通过调用 mysqli::commit() 和 mysqli::rollback() 来手动管理事务。
bool mysqli::autocommit(bool $enable)
成功时返回 true,失败时返回 false。
$mysqli = new mysqli("localhost", "username", "password", "database"); <p>if ($mysqli->connect_errno) {<br> die("连接失败: " . $mysqli->connect_error);<br> }</p> <p>$mysqli->autocommit(false); // 关闭自动提交</p> <p>$mysqli->query("INSERT INTO orders (product, quantity) VALUES ('Book', 1)");<br> $mysqli->query("INSERT INTO orders (product, quantity) VALUES ('Pen', 3)");</p> <p>if ($mysqli->commit()) {<br> echo "事务提交成功。";<br> } else {<br> echo "事务提交失败,进行回滚。";<br> $mysqli->rollback();<br> }</p> <p>$mysqli->close();<br>
此示例连接到数据库后,关闭了自动提交模式,并尝试插入两条订单记录。
如果插入成功,则调用 commit() 提交事务;否则调用 rollback() 回滚更改,确保数据一致性。