gpt4 book ai didi

php - 在 PHP 中,如果我断开连接而不是提交,我可以让 MySQL 回滚事务吗?

转载 作者:行者123 更新时间:2023-11-29 04:58:44 24 4
gpt4 key购买 nike

如果我运行以下 PHP,我希望不会有任何值插入到测试表中,因为我有一个我尚未提交的事务:

$db = mysql_connect("localhost","test","test");
mysql_select_db("test");
mysql_query("begin transaction;");
mysql_query("insert into Test values (1);") or die("insert error: ". mysql_errror());
die('Data should not be commited\n');
mysql_query("commit;"); // never occurs because of the die()

但它似乎无论如何都会提交。有没有办法在不关闭不在网站其他地方使用事务的 PHP 的自动提交的情况下关闭此行为?

最佳答案

使用 mysql_query('BEGIN')。 SQL“BEGIN TRANSACTION”无效(实际上 mysql_query 在该查询上返回 false,这意味着存在错误)。它不起作用,因为您从未开始交易。

关于php - 在 PHP 中,如果我断开连接而不是提交,我可以让 MySQL 回滚事务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4016434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com