我有一个在PHP和MySQL上运行的项目管理网站。但我不是开发它的人,这使我更难弄清楚问题是什么。所以我转向堆栈溢出。
当我尝试对对象列表进行排序时,MySQL服务器向我抛出异常,说:
“您的SQL语法有错误。请查看与您的MySQL服务器版本对应的手册,以便在第10行的'GROUP BY company_id'附近使用正确的语法。”
所以我在整个源代码中搜索了“GROUP BY company_id
”,并发现了一次,第一次没有出现在第10行,第二次,我没有看到任何错误。< / p>
该行看起来像:
$sql .= " GROUP BY company_id
ORDER BY $orderby";
$rows = db_loadList( $sql );
我尝试过研究这个主题,但找不到具体的内容。 我知道这些信息真的不够,但我只是想知道什么可能导致这个问题,如果你们之前有过这样的话。
任何形式的输入都将不胜感激。 谢谢,
维拉德
答案 0 :(得分:0)
如果我必须预测问题,我猜测$orderby
是空的或无效的。或者,在您显示的片段之前还有一些其他GROUP BY子句(或ORDER BY或HAVING)子句。
打印SQL - 整个声明。
如果问题不明显,请将其添加到您的问题中。
答案 1 :(得分:0)
所以我发现了问题。它实际上不是一个SQL问题。问题是由构建请求字符串的方式引起的。我意识到在请求字符串的开头有两个问号而不是一个(即“??”)。这导致SQL服务器出于某种原因抱怨语法。但无论如何,谢谢大家的努力。
祝你好运,
维拉德