我对这个mysql_query有一个问题:
$selectNewsComments = mysql_query("
SELECT user_id, comment, time_add
FROM news_comments
ORDER BY id DESC
LIMIT " .($pageNum - 1) * $numberOfNewsInPage . ", ".$numberOfNewsInPage."
WHERE news_id = '".$nid."'
") or die(mysql_error());
这是错误信息:
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的'WHERE news_id = '18''附近使用正确的语法
有人可以告诉我这个问题吗?
答案 0 :(得分:6)
您的ORDER BY id DESC LIMIT
应该追踪WHERE
警告:问题的示例代码使用PHP的mysql扩展名 在PHP 5.5.0中已弃用,并在PHP 7.0.0中完全删除。
答案 1 :(得分:1)
WHERE
子句应该在ORDER BY
之前。
mysql_query("SELECT user_id, comment, time_add FROM news_comments WHERE news_id = '".$nid."'ORDER BY id DESC LIMIT " .($pageNum - 1) * $numberOfNewsInPage . ", ".$numberOfNewsInPage)
答案 2 :(得分:0)
使用此代替
$selectNewsComments = mysql_query("
SELECT user_id, comment, time_add
FROM news_comments
LIMIT " .($pageNum - 1) * $numberOfNewsInPage . ", ".$numberOfNewsInPage."
WHERE news_id = '".$nid."'
ORDER BY id DESC
") or die(mysql_error());
我改变的是:ORDER BY id DESC
放在查询的末尾,应该是这样,以便它可以正常工作