同じ結果セットに対して「mysqli_fetch_array()」を複数回使用するにはどうすればよいですか?

DDD
リリース: 2024-11-02 08:15:03
オリジナル
490 人が閲覧しました

How Can I Use `mysqli_fetch_array()` Multiple Times on the Same Resultset?

mysqli_fetch_array() を複数回使用する

PHP と MySQL を使用してデータベースを操作する場合、同じクエリ結果に複数回アクセスする必要がある状況が発生することがあります。 mysqli_fetch_array() 関数を使用します。ただし、同じ結果セットに対して mysqli_fetch_array() を複数回使用しようとすると、空の出力が返されます。

これは、mysqli_fetch_array() が結果セット内のポインターをフェッチし、進めるためです。したがって、同じ結果を再度フェッチしようとすると、取得するデータが残りません。

この問題を解決するには、データ操作を出力から分離する必要があります。まず、データベースからすべてのデータをフェッチし、配列に保存します:

<code class="php">$db_res = mysqli_query($db_link, $sql);
$data = [];
while ($row = mysqli_fetch_assoc($db_res)) {
    $data[] = $row;
}</code>
ログイン後にコピー

注: PHP 5.3 以降では、明示的なループの代わりに fetch_all() を使用できます:

<code class="php">$db_res = mysqli_query($db_link, $sql);
$data = $db_res->fetch_all(MYSQLI_ASSOC);</code>
ログイン後にコピー

データを配列に保存したら、必要に応じて何度でも繰り返すことができます:

一番上の行:

<code class="php">foreach ($data as $row) {</code>
ログイン後にコピー

以上が同じ結果セットに対して「mysqli_fetch_array()」を複数回使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!