mysql_query - 关于结果“位置”的问题

时间:2010-05-19 03:41:29

标签: php mysql

如果这是一个特别愚蠢的问题,请原谅我!

mysql_query($query)

返回一个布尔值,但您也可以将其赋值给变量

$results = mysql_query($query)

然后使用其他mysql_函数提取数据。

出于好奇,mysq_query($query)如何同时充当布尔和数据容器?在这些步骤中,“引擎盖下”发生了什么?

(是的,我是n00b ......,请善待!)

2 个答案:

答案 0 :(得分:4)

如果您注意到,当它返回true / false时,您不能将其与mysql_fetch_assoc()等其他函数一起使用。

来自mysql_query()文档:

  

用于SELECT,SHOW,DESCRIBE,EXPLAIN   和其他声明返回   resultset,mysql_query()返回一个   成功的资源,或FALSE   错误。

     

对于其他类型的SQL语句,   INSERT,UPDATE,DELETE,DROP等,   mysql_query()成功返回TRUE   错误时为FALSE。错误时为FALSE。

会发生什么情况,对于不返回数据的语句,它会对查询是否成功做出响应true / false。

当存在结果集时,您将看到它返回MySQL资源。这是一个特殊值,允许PHP找出您正在谈论的数据集。然后,您将此资源传递给其他MySQL函数以检索数据。

请参阅:http://www.php.net/manual/en/language.types.resource.php

答案 1 :(得分:0)

var_dump(mysql_query($query));

应该告诉你它是resource(及其ID)