ホームページ > データベース > mysql チュートリアル > 複数の行が存在する場合、PHP MySQL クエリが 1 行だけを返すのはなぜですか?

複数の行が存在する場合、PHP MySQL クエリが 1 行だけを返すのはなぜですか?

Susan Sarandon
リリース: 2024-12-02 11:23:09
オリジナル
990 人が閲覧しました

Why Does My PHP MySQL Query Only Return One Row When Multiple Rows Exist?

MySQL の取得は 1 行に限定されています

PHP を使用して MySQL テーブルから複数の行を取得しようとすると、1 行だけが返される状況が発生することがあります。クエリ条件に一致する行が複数あるにもかかわらず。この問題は、コードの実装が正しくないために発生する可能性があります。

提供された PHP コード内:

$query = mysql_query("SELECT `title`, `url_title` FROM `fastsearch` WHERE `tags` LIKE '%$q%' LIMIT 5");
$query2 = mysql_fetch_assoc($quer);
print_r($query2);
ログイン後にコピー

問題は、mysql_fetch_assoc($quer) の使用内にあります。この関数は結果セットの最初の行のみを取得し、それを $query2 に割り当てます。クエリに一致するすべての行を取得するには、while ループを使用して結果セットを反復処理する必要があります。

修正されたコードは次のようになります。

$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 変数を使用し、一致するすべての行を確実に取得して表示します。

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

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