2009-10-01 54 views
2

我想從一個SQL查詢返回的數據做不同的操作,這樣的事情:如何在PHP中重用sql查詢結果?

$sql = "SELECT * FROM mandant"; 
$res = pg_query($_db,$sql); 

while ($mandant_list = pg_fetch_object($res)) 
{   
    # do stuff 
} 

while ($mandant = pg_fetch_object($res)) 
{ 
    # do other stuff 
} 

但是,這是行不通的。第一個循環獲取數據,第二個循環沒有。

是否可以重複使用查詢返回的結果而不再運行它? 如果不是,爲什麼? $ res變量會發生什麼?

回答

0

這是可能的。

第二個循環中斷的原因是因爲每次從數據集中獲取一行時,它都會被遞減,直到對象中沒有剩餘的行。

您需要製作2個$ res的副本,然後在第二個$ res上運行第二個while()