Mysql_query错误

时间:2012-06-15 21:01:59

标签: php mysql

我对这个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''附近使用正确的语法

有人可以告诉我这个问题吗?

3 个答案:

答案 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放在查询的末尾,应该是这样,以便它可以正常工作