ずっと前に質問されましたが、現在別の解決策があります。
このメソッドPDOStatement::fetch()
は、2 番目のパラメータであるカーソルの向きを、PDO::FETCH_ORI_*
定数の 1 つと共に受け取ることができます。これらのパラメータは、 が属性asPDOStatement
で作成されている場合にのみ有効です。PDO::ATTR_CURSOR
PDO::CURSOR_SCROLL
これにより、次のようにナビゲートできます。
$sql = "Select * From Tabela";
$statement = $db->prepare($sql, array(
PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL,
));
$statement->execute();
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_NEXT); // return next
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_PRIOR); // return previous
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_FIRST); // return first
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_LAST); // return last
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_ABS, $n); // return to $n position
$statement->fetch(PDO::FETCH_BOTH, PDO::FETCH_ORI_REL, $n); // return to $n position relative to current
詳細については、ドキュメントとPDO の事前定義された定数を参照してください。
注:PDO::FETCH_BOTH
がデフォルトであるため使用されます。プロジェクトに合わせてカスタマイズしてください。