1

这是一个以前从未发生在我身上的奇怪案例,我已经用 mysqli 和 php 编码大约 2 年了,非常基本的东西,准备好的语句,查询执行等,从 WAMP 开始,然后转移到 ubuntu,尝试了 LAMP ,不喜欢它,继续调查一个合适的测试环境,我发现PuPHPet,它是完美的,已经使用了几个月,一切都很好。

我从来没有像在 JAVA 中那样担心打开、关闭或提交连接,我在某处读到 php 处理连接,它在脚本运行时打开和关闭它们。我从来没有真正关注过,我应该关注的,我发现这篇PHP + MySQL 事务示例非常有用,我将从现在开始使用它。

但是我在这里发帖的原因是因为突然自动提交关闭了。我打开了我常用的 puphpet 项目,尝试插入一些新条目,但它们没有被插入。因此,我在工作台中进行了一些测试,手动插入了一些条目,它们被插入了,但是我的 AI 索引增加了,这意味着我的应用程序确实插入了一些东西,或者至少它尝试过,或者因为 AI 计数器增加而发生了一些事情。从几个 DBA 那里得到了一些帮助,我们得出的结论是它是自动提交。

使用这段代码:

$res = mysqli_query($mysqli, "SELECT @@autocommit");
$row = mysqli_fetch_row($row);
printf("Autocommit: %s\n", $row[0]);

它打印“自动提交:0”,所以它是关闭的,但我没有改变任何东西,即使在生产环境中自动提交是打开的,或者至少我的插入保持在那里,但我不知道为什么它在我的测试环境中改变了,所以我想知道会发生什么?有人有什么想法吗?

4

0 回答 0