2011-12-20 53 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中多次使用一個結果時,我將不得不做一個例程來將結果存儲在一個數組或其他東西中,以便使用第二次或更多次。 你有一個使用PDO :: CURSOR_SCROLL的例子嗎? – 2011-12-20 18:54:28