ホームページ  >  記事  >  バックエンド開発  >  MySQL クエリが PHP スクリプトで 1 行しか返さないのはなぜですか?

MySQL クエリが PHP スクリプトで 1 行しか返さないのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 14:47:03234ブラウズ

Why Does My MySQL Query Only Return One Row in My PHP Script?

PHP スクリプトで MySQL が 1 行だけを返す理由

PHP では、MySQL クエリが 1 行だけを取得するという問題が発生する場合があります複数の結果を期待する場合。この矛盾は、mysql_fetch_assoc() 関数を誤って使用した場合に発生します。

提供されたコード スニペット:

$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($quer); // Misspelling of $query
print_r($query2);

mysql_fetch_assoc($quer) を 1 回だけ呼び出してクエリ結果から最初の行を取得するだけです。 。すべての行をフェッチするには、ループを使用する必要があります。

ループを使用した正しいコード:

$query = mysql_query("SELECT `title`,
                             `url_title`
                        FROM `fastsearch`
                       WHERE `tags`
                            LIKE '%$q%'
                       LIMIT 5");

while ($row = mysql_fetch_assoc($query)) {
    print_r($row);
}

この修正されたコードでは、次の点に注意してください:

  1. $query 変数のスペルは正しいです。
  2. while ループは、mysql_fetch_assoc($query) によって返された各行を $row 変数に割り当てます。
  3. ループ内で、各行にアクセスして出力できます。 $row.
を使用して行のデータを取得します。

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

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