gpt4 book ai didi

php - 使用 mysqli_begin_transaction() 时服务器版本错误

转载 作者:行者123 更新时间:2023-11-29 04:35:42 25 4
gpt4 key购买 nike

我正在使用本地服务器 (Xammp) 构建应用程序。首先,我在开始交易之前关闭默认自动提交:

      if($condition == true){
mysqli_autocommit($mysqli, FALSE);//disabling default autocommit
// Starting transaction for read and write
mysqli_begin_transaction($mysqli, MYSQLI_TRANS_START_READ_WRITE);
//....Update table
mysqli_commit($mysqli);//commit records to database
}else {
mysqli_rollback($mysqli);}

如果我单击一个按钮,我会收到错误消息,告诉我我的服务器版本不支持 mysqli_begin_transaction() 最低要求是 5.6.5。Tf i检查数据库结果符合预期,只是用户没有被重定向到任何地方,浏览器显示此错误消息

Warning: mysqli_begin_transaction(): This server version doesn't support 'READ WRITE' and 'READ ONLY'. Minimum 5.6.5 is required in C:\xampp\htdocs\wezhira\foo.php on line 38

有没有人可以帮助我如何升级我的服务器来测试我的应用程序,任何链接博客或文章都会有帮助,其次,如果我使用实时服务器,这个错误会消失吗?我在 Stackoverflow 上看到了一些解决方案建议 mysqli_begin_transaction() 可以替换为 mysqli_autocommit($mysqli, FALSE); 这句话的真实性如何?

最佳答案

我意识到这个错误是由于你的 mysql 当前运行的 innodB 版本造成的。 Xampp 带有 MariaDB,他们最新版本的 innodB 是 5.6.34-79.1。因此,您可能想要升级数据库或改用 autocommit()。

在您的 phpmyadmin SQL 查询上运行此代码以找出您的 Innodb 版本

SHOW GLOBAL VARIABLES LIKE '%version%'

如果您的版本确实低于 5.6.5,那么请考虑使用与事务非常相似的 autocommit() 重写您的代码。要使用自动提交,请参阅此 php 文档 php autocommit documentation

关于php - 使用 mysqli_begin_transaction() 时服务器版本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42614753/

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