ホームページ >データベース >mysql チュートリアル >私の PHP コードが LIMIT 句を含む MySQL クエリから 1 行しか返さないのはなぜですか?
PHP を使用した MySQL での単一行の戻り値の解決
PHP の mysql_query() および mysql_fetch_assoc を使用して MySQL データベースから複数の行を取得しようとする場合() 関数を使用すると、単一行のみが表示されるという問題が発生する可能性があります。
問題:
次の PHP コードを考えてみましょう:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); $query2 = mysql_fetch_assoc($query); print_r($query2);
このコードは、タグ検索に基づいて fastsearch テーブルからデータを取得します。ただし、LIMIT 句で指定された 5 行すべてを返すのではなく、最初の行のみを連想配列として返します。
解決策:
この問題を修正するには、次のようにします。コードは次のように変更する必要があります:
$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5"); while ($row = mysql_fetch_assoc($query)) { print_r($row); }
以上が私の PHP コードが LIMIT 句を含む MySQL クエリから 1 行しか返さないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。