Joomla 1064 管理错误

Posted

技术标签:

【中文标题】Joomla 1064 管理错误【英文标题】:Joomla 1064 Error in Administration 【发布时间】:2018-02-10 00:50:37 【问题描述】:

我正在使用 Joomla 3.7.5。如果我在管理中的某些组件中对配置进行了一些更改并想保存这些更改,它会写给我:

error 1064 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“ORDER BY group_id DESC LIMIT 1”附近使用的正确语法

我尝试修复数据库(在扩展 > 管理 > 数据库中),但没有帮助。我认为 group_id 表的数据库存在一些错误,但我不确定在哪里或如何修复它。

我也在一些旧备份上尝试过,它写了类似的东西:

error 1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“ORDER BY group_id DESC LIMIT 1”附近使用正确的语法 SQL=select group_id from #__user_usergroup_map where user_id = ORDER BY group_id DESC LIMIT 1

到目前为止,我不需要更改组件配置中的某些设置。所以我不确定它在没有错误1064的情况下无法保存多长时间。

有什么建议可以解决这个问题吗?我不确定提到的第 1 行是什么 - 它是数据库中的第 1 行还是某个 php 文件中的第 1 行?

非常感谢!

【问题讨论】:

【参考方案1】:

我对 joomla 一无所知,但仔细查看了您的错误消息的这一部分

从 #__user_usergroup_map 中选择 group_id,其中 user_id = ORDER BY group_id DESC LIMIT 1

让我怀疑您的问题是您的 where 子句 user_id = 中的谓词不完整。正确的 where 子句类似于 user_id = X 其中 X 是一个常量或其他表达式。

另外,这类问题可能更适合Server Fault

【讨论】:

我检查了数据库,有 user_usergroup_map 表包括 2 行,其中第 1 行是 user_id 和第 2 行 group_id,但它们都包含数字常量。该表包括用户 ID 和组 ID - 它基于组授予用户权限。表格看起来没有问题。 您可能需要弄清楚是什么在生成该特定查询以及为什么它会生成不完整的表达式user_id =。正如我所说,我对 joomla 一无所知,但我的直觉是空白值被替换为该查询的模板或表达式。 此外,快速浏览此页面右栏中的 相关 链接会显示 1064-Error on joomla 3 page,这看起来与您报告的问题非常相似。 谢谢,我才发现问题。这是另一个组件的问题,这是 php 文件中的一些问题。它通过这个组件调用 group_id,所以如果我禁用该组件一段时间它就可以工作。 很高兴能提供帮助。如果可以的话,最好能添加一个更详细地解释根本原因的答案,这样其他遇到相同问题的人会更快地找到解决方案。

以上是关于Joomla 1064 管理错误的主要内容,如果未能解决你的问题,请参考以下文章

500 - 发生错误 - 在Joomla中添加新文章时,DB函数报告没有错误

尝试在localhost上编辑Joomla时出现HTTP错误

Joomla Akeeba 致命错误

“找不到'JToolbarHelper类”错误,无法控制joomla

手动删除了 Joomla 组件,但标题仍显示在扩展管理器中

SSL 301 重定向错误 - Joomla 和 Nginx