1

この mysql_query には 1 つの問題があります。

$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 構文にエラーがあります。1 行目の 'WHERE news_id = '18'' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

誰かがこの問題の原因を教えてもらえますか?

4

3 に答える 3

6

あなたORDER BY id DESC LIMITの後に行く必要がありますWHERE

警告: 質問のサンプル コードでは、PHP 5.5.0 で廃止され、PHP 7.0.0 で完全に削除された PHP の mysql 拡張機能を使用しています。

于 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 に答える