() in PHP? mysqli_begin_transaction()和mysqli_autocommit()在PHP中有什么区别?

4

mysqli_begin_transaction() 实现了和 mysqli_autocommit () 同样的功能吗?


mysqli_autocommit 表示每次查询后结果会立即提交,因此您无法回滚。mysqli_begin_transaction 表示开始一个事务,然后执行查询,您可以提交或回滚它们。 - ScaisEdge
在调用 mysqli_begin_transaction() 之前,我是否需要将 autocommitt 设置为 FALSE?还是它会自行处理并在提交后打开? - Ngenazy
1
你最好询问一下 mysqli_autocommitmysqli_commit 的区别。 - JustOnUnderMillions
1个回答

5
  • mysqli_autocommit() 用于永久设置自动提交模式。这意味着,如果将其设置为0并提交一个事务,则该模式将保持为0。
  • mysqli_begin_transaction() 开始一个单独的事务。这意味着,在提交后,模式会恢复到其先前的状态。
    此外,它允许您微调事务,并从以下模式之一开始:

我已经按照您的解释实现了我的代码,目前它正在按照我想要的方式工作,除了Xammp抛出错误,说当前服务器不支持READ和WRITE ONLY,最低应该是5.6.5,而且我的PHP脚本没有重定向用户,仍然停留在同一页。我将尝试在实际服务器上托管它。还有一个问题:我有多个用户读写同一行并使用行级锁定,但我找不到模拟多个用户的方法,您有任何工具或建议吗? - Ngenazy
最好将其作为一个单独的问题提问。 - Your Common Sense

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接