这是从mysql获取单个值的有效查询吗?

时间:2011-10-08 03:41:38

标签: php mysql sql

$value = mysql_result(mysql_query("SELECT the_field 
                                     FROM the_table 
                                    WHERE other_field = 'whatever'"), 0); 

这有效,但我不知道这样做是否“合适”。是编纂编码吗?如果是这样,有没有更好的方法来获得一个单一的价值?

3 个答案:

答案 0 :(得分:2)

我称之为懒惰编码 - 您没有检查错误。如果SQL中存在错误或数据库已关闭,这可能会导致错误消息混淆。最好是明确检查错误并提供有用的错误消息,而不是让程序爆炸。

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

答案 1 :(得分:1)

更好

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

答案 2 :(得分:0)

我认为这没有错。此外,如果您只需要返回一行,则可以在末尾添加LIMIT 1