AFAIKは、PDOを使用してカーソル位置をリセットする可能性はありません。これは、内部カーソルのリセットをサポートしていない一部のデータベースとの互換性に関係している可能性があります。
結果を2回反復する場合は、それを配列にフェッチして、この配列を反復します。
<?php
$results = $stmt->fetchAll();
foreach($results as $row) {
// first
}
foreach($results as $row) {
// second
}
編集 一部のデータベースはスクロール可能なカーソルをサポートしています。これを使用するには、PDO::CURSOR_SCROLL
を追加します prepare
へのフラグ メソッド(PDOFetchドキュメントページ
の例を参照してください。 )。しかし、それは完全に巻き戻すのではなく、前進または後退する可能性を追加するだけです。また、すべてのデータベースがそのタイプのカーソルをサポートしているわけではありません(たとえば、MySQLはサポートしていません)。