php中 (Resource id #42)

做了一个mysql的查询 结果返回的值是Resource id #42这是怎么回事?

你用的肯定是mysql_query(mysql查询语句)

Resource id #42 这是mysql_query函数的资源标识

这是手册原话:
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。
对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功了但并未影响到或并未返回任何行。

我来解释一下原话:
mysql_query函数如果执行的sql语句是:SELECT,SHOW,EXPLAIN 或 DESCRIBE 这几个时候,会返回资料标识符(就是你这个Resource id #42);
对于其他的SQL语句(例如:DELETE,UPDATE,INSERT,CREATE等),语句出错才会返回假值。但是这个语句没有语法错误,但是执行了,没有出现效果,它是不会管的。

你可以这么理解,mysql_query函数只是进行了查询。返回只是一个资源标识,还不可以使用。
如果你要显示数据:可以把它读到数组(mysql_fetch_array或者mysql_fetch_assoc())
如果你想知道查询结果行数是多少:可以是用mysql_num_rows

如果你的不是查询语句,直接判断它返回的值是真是假。

附带:php mysql函数网址:http://www.w3school.com.cn/php/php_ref_mysql.asp

它里面的函数很多。你可以好好看看。

希望采纳
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-09
这是一个记录集.里面包含很多记录的.
你需要用循环.
while ($row = mysql_fetch_assoc($result))
这样就可以解析出来里面的内容了.
第2个回答  2011-10-09
一般返回这个结果只是一个连接mysql的一般标识,你可能查询语句或是代码出错!
相似回答