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

MySQL クエリを PHP で実行すると 1 行しか返さないのはなぜですか?

Susan Sarandon
リリース: 2024-11-03 08:35:02
オリジナル
567 人が閲覧しました

Why is my MySQL query only returning one row when executed in PHP?

クエリから 1 行のみを返す MySQL

問題:

SQL の実行時複数の行を返す必要があるクエリですが、PHP の mysql_query() および mysql_fetch_assoc() を使用して 1 行だけが取得されます。 PhpMyAdmin で直接実行された SQL クエリは、予期されるすべての行を返します。

解決策:

オプション 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);
}
ログイン後にコピー
  • このコードは while ループを使用して、クエリによって返されたすべての行を反復処理します。
  • 各行は $row 変数に割り当てられ、ループ内でアクセスできます。

オプション 2: mysql_fetch_array() を使用して行の配列を取得する

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

$rows = array();
while ($row = mysql_fetch_array($query)) {
    $rows[] = $row;
}
ログイン後にコピー
  • このコードは、mysql_fetch_array() を使用して行の配列を取得しますrows.
  • $rows 配列には、クエリによって返された各行の配列が含まれます。

注:

  • この問題は、mysql_fetch_assoc() が一度に 1 行しか返さないために発生しました。
  • 変数名 $query ではなく $quer のスペルが間違っていたことも問題の原因となっている可能性があります。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート