きっとできるに違いないと信じて格闘し、頭も使い、Googleも使い、結局時間の無駄だったってこと、ありますよね。
いやもう毎日、大小はあってもそんなことばかりやっています。

今回も同じマスタのデータを複数のリストボックスに表示したかっただけなのに。

マスタの件数が多いので、fetchAllして全部取ってこずにfetchしようとしてスクロール可能なカーソルを使ってみました。
MySQLで。

・prepare時

$pdo->prepare($query, array(PDO::ATTR_CURSOR => \PDO::CURSOR_SCROLL));

・fetch時

$pdo->prepare($query, array(PDO::ATTR_CURSOR => \PDO::CURSOR_SCROLL));
$i = 0;
while($row = $stmt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_ABS, $i){
    echo "<option value='{$row["value"]}'>{$row["value"]}</option>";
    $i++;
}

や、

$row = $this->branchStmt->fetch(PDO::FETCH_ASSOC, PDO::FETCH_ORI_FIRST);
echo "<option value='{$row["value"]}'>{$row["value"]}</option>";
while($row = $this->branchStmt->fetch()){
    echo "<option value='{$row["value"]}'>{$row["value"]}</option>";
}

など。
他にもやった気がするけれど、もう思い出せません。
ついさっきのことだけれど。

そしてたどり着きました。
その先になにもない、地の果てに。

https://dev.mysql.com/doc/refman/5.1/en/cursors.html

「Nonscrollable: Can be traversed only in one direction and cannot skip rows」

えっ

https://bugs.php.net/bug.php?id=49017

「Unfortunately, MySQL does not support scrollable cursors.」

えっ

http://stackoverflow.com/questions/15637291/how-use-mysql-data-seek-with-pdo

・・・実はできるとか・・・いや、PDO::FETCH_ORI_*は全般に無理なんでしょう。

https://mariadb.com/kb/en/mariadb/cursor-overview/

MariDBもだめか。

地の果てでfetchAllしました。