2010-12-14 47 views
0

目前,我管他們是這樣的:什麼是一些更有效的方式來處理查詢?

$query = mysql_query("..."); 
while ($results = mysql_fetch_array($query)) 
{ 
    ... 
} 

什麼更實際的方式去嗎?

+0

我通常使用fetch_object,但通常情況下您會將數據庫抽象層與orm庫一起使用。至少對於更大的項目。 – janoliver 2010-12-14 08:37:37

+2

ORM高效?大聲笑 – 2010-12-14 09:47:17

回答

2

我給你的問題是:什麼不切實際關於那?

這似乎是一次處理結果集的理想範例。如果這就是你需要的,那就是你需要的。

我唯一的建議是確保你只需要你需要的列,並且讓數據庫能夠做到最好。換句話說,如果您想要彙總結果,那麼這是數據庫應該執行的操作(而不是在客戶端上關閉所有記錄並進行彙總)。


關於需要做的這一切在一次,有沒有很像(僞代碼)的東西之間的差異:

array_of_array = fetch_all() 

array_of_array = empty 
while (array = fetch_one()): 
    array_of_array.push (array); 

肯定是不夠的因爲語言開發人員認爲它是必要的,因爲可能的fetch功能發現here

如果你真的需要這個功能,你可以自己編寫代碼。這就是爲什麼大多數語言都提供了創建用戶定義函數的原因,畢竟:-)

+0

那麼,有一個*不想一次處理一行的情況;相反,將結果存儲爲數組供以後使用會很方便。就目前而言,如果我需要這種功能,我必須創建空數組,然後通過並推送每個結果;似乎應該有一個更方便的方法來解決這個問題。 – 2010-12-14 08:44:35

相關問題