ホームページ >バックエンド開発 >PHPチュートリアル >MySQL クエリが複数の行を期待しているのに 1 行しか返さないのはなぜですか?

MySQL クエリが複数の行を期待しているのに 1 行しか返さないのはなぜですか?

DDD
DDDオリジナル
2024-11-02 18:31:30716ブラウズ

Why Is My MySQL Query Returning Only One Row When I Expect Multiple?

MySQL は 1 行ではなく複数の行を返す

MySQL を使用してデータベースからデータを取得する場合、1 行だけが返される状況が発生する可能性があります。複数の期待にもかかわらず、返されました。この問題に対処するには、次の説明を検討してください。

この例では、PhpMyAdmin の SQL クエリは複数の行を正常に返します。ただし、PHP コードはこれらの行の取得を正しく処理しません。以下は、クエリに一致するすべての行を出力する PHP コードの修正バージョンです:

<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>

この修正されたコードでは:

  • $query 変数の綴りは正しいです。
  • mysql_fetch_assoc() 関数は while ループ内で使用され、クエリによって返された各行を反復処理して出力します。
  • 各行は $row 変数に保存され、print_r() を使用して出力されます。

以上がMySQL クエリが複数の行を期待しているのに 1 行しか返さないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。