カーソルの向きの定数を使用して結果を選択できるように見えます...サンプルコードが来ます...私はこれを試したことがないので、少しプレイする必要があるかもしれません。これも、PDO::FETCH_ORI_FIRST
という仮定に基づいています。 data_seekのように機能し、カーソルを以前の位置に戻すのではなく、最初の位置に置きます。
$stmt = $pdo->prepare('SELECT id FROM table', array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
$first = $pdo->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_FIRST);
$first_row = $first['id'];
// other stuff
// first iteration we rewind to the first record;
$cursor = PDO::FETCH_ORI_FIRST;
while (false !== ($row = $stmt->fetch(PDO::FETCH_ASSOC, $cursor))) {
$id = $row['id'];
// successive iterations we hit the "next" record
$cursor = PDO::FETCH_ORI_NEXT;
echo $id;
}
ステートメントを巻き戻すことができるとは思いません...これらのブロックが一連の中間ロジックIDによって分離されていないと仮定すると、ループ内で実行するだけです。
$STH->setFetchMode(PDO::FETCH_COLUMN); // no need to pull an array
$count = 0;
while ($id = $STH->fetch()) {
if($count === 0) {
$first_row = $id;
}
echo $id;
$count++;
}