2011-12-20 15 views
1

現在、私は自分のプロジェクトで使用していますADODBデータベースと統合するためのライブラリです。 私はPDOに移行したいと思いますが、私は相談について質問があります。メソッド "moveFirst()" ADODB、PDO等価

現在、ADODBを使用して、私はクエリを実行し、MoveFirst()メソッドを使用して何回もセットした行を使用します。

例:

//I consultation 
$rs = $conn->execute('select * from mytable'); 

//Loop through the results 
while(!$rs->EOF) { 
    echo $rs->fields('name'); 
    $rs->MoveNext(); 
} 

//I move the "pointer" to the beginning of the list 
$rs->MoveFirst(); 

//I can go over the results without needing to re-select 
while(!$rs->EOF) { 
    echo $rs->fields('name'); 
    $rs->MoveNext(); 
} 

PDOで同様のどのような方法があるのだろうか、私はもう一度、クエリを実行する必要はありません。 目的は、同じクエリを使用するため、ベンチで不要なクエリを頻繁に使用しないようにすることです。

答えて

0

なぜデータベース接続上で結果セットを複数回ループしたいのかわかりません。最初にデータを取得して保存するだけで、ネットワーク上でデータを再度プルするのはなぜですか?しかし、あなたが探しているのはスクロール可能なカーソルです。これはmysqlでサポートされていません。少なくともPHP/MySQLドライバを経由しないでください。また、PDOでサポートされているバッファ付き/バッファなしのクエリを調べることもできます。

PDO :: CURSOR_SCROLL http://www.php.net/manual/en/pdo.prepare.php

+0

目標は、私が欲しい何回ADODBに設定された行にアクセスすることができるので、最初のループで結果を格納するためのルーチンを行う必要がないことです。 PDOで複数回結果を使用するたびに、2回以上使用するために結果を配列などに格納するルーチンを実行する必要があります。 PDO :: CURSOR_SCROLLの使用例がありますか? –