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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-17 07:14:03377ブラウズ

Why Does My MySQLi Query Only Return One Row When I Expect Two?

MySQLi Query Fetching Single Row

このコード スニペットは、MySQL テーブルから 2 行のデータを取得することを目的としていますが、1 行だけを返します。 phpMyAdmin の SQL ステートメントは両方の行を正常に返しますが、問題のコードはこれに失敗します。

$request_list_result = $mysqli->query("
SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies
JOIN sb_users ON buddy_requester_id=user_id
WHERE buddy_status='0' AND buddy_reciepient_id='" . get_uid() . "'");

$request_list_row = $request_list_result->fetch_array();

echo $request_list['user_fullname'];

問題は、単一行のみを配列として取得する fetch_array の使用にあります。結果からすべての行をフェッチするには、目的の関数は fetch_all です。

$request_list = $request_list_result->fetch_all();

この関数は配列の配列を返します。ここで、各内部配列は結果セット内の行を表します。 fetch_all を使用すると、コードが両方の行に正しくアクセスできるようになります。

参考までに、fetch_all のドキュメントは http://php.net/manual/en/mysqli-result.fetch-all にあります。 php

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

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