誤って表示された MySQL 行の修正
予期される結果が複数である必要があるときに、MySQL が 1 つの行しか返さないという問題に直面していますか?この PHP コードを見てみましょう:
<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $query2 = mysql_fetch_assoc($query); print_r($query2);</code>
このコードは、検索クエリに基づいて fastsearch テーブルから最初の 5 つの一致する行をフェッチすることを目的としています。ただし、この問題は、mysql_fetch_assoc の使用法が間違っているために発生します。
while ループを使用して行を反復処理する
これを解決するには、while ループを使用する必要があります。一致するすべての行を反復処理し、1 つずつ表示します。修正されたコードは次のとおりです。
<code class="php">$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); while ($row = mysql_fetch_assoc($query)) { print_r($row); }</code>
この更新されたコード内:
追加の注意事項:
以上がMySQL クエリが複数行を期待しているのに 1 行しか返さないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。