冗長な mysqli_fetch_array() 呼び出し: よくある落とし穴
データベース クエリの結果に複数回アクセスすることは、困難な作業になる可能性があります。一般的なアプローチの 1 つは、結果セットから行を取得し、カーソルを次の行に進める関数 mysqli_fetch_array() を使用することです。ただし、mysqli_fetch_array() で同じ結果セットを複数回使用すると、制限が発生する可能性があります。
提示されたサンプル コードでは、データベースのデータを使用してテーブルの行と列の両方にデータを設定しようとしていますが、データを設定できないという問題に直面しています。 mysqli_fetch_array() を使用して同じ結果セットを 2 回使用できます。この理由は、mysqli_fetch_array() を呼び出すたびにカーソルが次の行に進むためです。
この制限を効果的に回避するには、データ操作を出力から切り離すことをお勧めします。これは、まずデータを取得して配列またはデータ構造に保存し、次に必要に応じてそれを利用することを意味します:
<code class="php">// Select and store data into an array $db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_assoc($db_res)) { $data[] = $row; } // Use the stored data multiple times // Top row foreach ($data as $row) {</code>
以上が「mysqli_fetch_array()」を複数回使用すると結果セットに問題が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。