Discuz3.2 因Mysql版本过高(8.0)导致出现 (1064) You have an error in your SQL syntax; 错误

升级了MYSQL 8.0。

Discuz X3.2 变进不去后台。

提示:

(1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'system>0' at line 1
SELECT COUNT(*) FROM common_usergroup WHERE type='special' and system>0
Discuz3.2 因Mysql版本过高(8.0)导致出现 (1064) You have an error in your SQL syntax; 错误插图

这是因为:

MySQL 8.0+将system和groups作为了关键字,所以不能直接在SQL中将system和groups这两个词作为数据库、数据表、数据表字段中的任意一种使用,如果数据库名或数据表名或数据表字段名使用了system或groups作为名字,必须使用一对反引号引用起来。写作`system`或`groups`。

解决办法:

找到Discuz!目录中的source\class\table\table_common_usergroup.php,比如
\www\xxx\source\class\table\table_common_usergroup.php

第135行 中的

system 改成 ‘system’ ,保存后重新上传到服务器的相同目录即可。

Discuz3.2 因Mysql版本过高(8.0)导致出现 (1064) You have an error in your SQL syntax; 错误插图1

当system更改完毕后,网站能进入后台了。

同时,还有一个MYSQL 版本过高的问题。

就是点击工具-更新缓存的时候,同样也会出现1064的错误,也只需要到相应目录更改一下代码。

《discuz 3.2因MYSQL版本过高出现1064 错误,SELECT * FROM forum_announcement WHERE type!=2 AND groups = ” AND starttime》

因为当时没有注意更新缓存也是这个原因,所以分成了两篇文章。

注明:本文为星速云原创版权所有,禁止转载,一经发现将追究版权责任!

(0)
上一篇 2022年7月20日 下午7:57
下一篇 2022年7月20日 下午7:57

相关推荐

发表评论

登录后才能评论
问答社区 QQ客服
微信客服
微信客服
分享本页
返回顶部