2011-10-08 56 views
0
$value = mysql_result(mysql_query("SELECT the_field 
            FROM the_table 
            WHERE other_field = 'whatever'"), 0); 

這有效,但我只是不知道這樣做是否「正確」。它是潦草的編碼?如果是這樣,是否有更好的方法來獲得單一的價值?這是一個有效的查詢從MySQL獲取單個值?

+0

這是通常的方式。你指的是什麼「適當的」? – wallyk

+0

我只是沒有看到它做得很多,我想確定它是有效的。 – Oseer

回答

0

我沒有看到這個問題。此外,如果您只想要返回一行,則可以在末尾添加LIMIT 1

2

我會說這個懶惰的編碼 - 你沒有檢查錯誤。如果SQL中存在錯誤或數據庫關閉,這可能會導致混淆錯誤消息。最好明確檢查錯誤並提供有用的錯誤信息,而不是讓程序爆炸。

$result = mysql_query("SELECT the_field 
         FROM the_table 
         WHERE other_field = 'whatever'") 
if (!result) { 
    trigger_error(mysql_error($result)); 
} 
+0

你會怎麼建議?在一個while循環? – Oseer

1

更好

$value = mysql_result(mysql_query("SELECT the_field 
            FROM the_table 
            WHERE other_field = 'whatever' LIMIT 1"), 0); 
相關問題