2011-10-08 70 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);