1

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

有人能告诉我这个问题是从哪里来的吗?

4

3 回答 3

6

ORDER BY id DESC LIMIT应该去追求WHERE

警告:问题的示例代码使用 PHP 的 mysql 扩展,该扩展在 PHP 5.5.0 中已被弃用,并在 PHP 7.0.0 中完全删除。

于 2012-06-15T21:03:55.673 回答
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)
于 2012-06-15T21:04:08.333 回答
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查询的末尾应该在哪里,这样它就可以工作了

于 2013-07-08T07:18:00.753 回答