mysqli 結果セットを複数回走査する方法
PHP を使用して MySQL データベースを操作する場合、から返されたデータにアクセスする必要がある場合があります。クエリを複数回実行します。ただし、同じ結果に対して mysqli_fetch_array() を 2 回使用すると機能しません。
解決策
この制限を克服するには、データ操作を出力から分離します。
を選択して保存しますデータ:
まず、データベースからデータを選択し、配列に保存します:
$db_res = mysqli_query( $db_link, $sql ); $data = array(); while ($row = mysqli_fetch_array($db_res, MYSQLI_ASSOC)) { $data[] = $row; }
あるいは、PHP バージョン 5.3 以降では fetch_all() を使用できます。
$db_res = mysqli_query( $db_link, $sql ); $data = $db_res->fetch_all(MYSQLI_ASSOC);
を反復処理します。保存されたデータ:
これで、出力のために配列内の保存されたデータを反復処理できます:
// Top row foreach ($data as $row) {
以上がPHP で MySQL 結果セットを複数回反復するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。