PDO 結果の配列ポインタのリセット
MySQL SELECT メソッドから PDO に移行する場合、フェッチされたものを反復処理するために配列ポインタのリセットが不可欠になります配列を複数回実行します。 MySQL にはこれを実現する mysql_data_seek() が用意されていますが、PDO には別のアプローチが必要です。
PDO で配列ポインタを正常にリセットするには、次の解決策を検討してください。
まず、結果セットを取得して、 fetchAll() メソッドを使用して配列を作成します。このメソッドは、すべての行を PHP 配列にフェッチします。その後、この配列を複数回反復処理して、各行のデータにアクセスして処理できます。
更新された例は次のとおりです:
$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC'); $stmt->setFetchMode(PDO::FETCH_ASSOC); $stmt->execute(); $rows = $stmt->fetchAll(); // Saving results into an array // First Iteration foreach ($rows as $r) { // ... } // Second Iteration foreach ($rows as $r) { // ... }
この改訂されたアプローチにより、結果を反復処理できます。毎回最初の行から開始して複数回設定します。
以上が複数回の反復のために PDO 結果セットの配列ポインタをリセットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。