返回的值是Resource id #42这是怎么回事?该怎么解决?

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

智慧大石
浏览 228回答 3
3回答

慕尼黑的夜晚无繁华

你用的肯定是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如果你的不是查询语句,直接判断它返回的值是真是假。

LEATH

这是一个记录集.里面包含很多记录的.你需要用循环.while ($row = mysql_fetch_assoc($result))这样就可以解析出来里面的内容了.

慕的地10843

一般返回这个结果只是一个连接mysql的一般标识,你可能查询语句或是代码出错!
打开App,查看更多内容
随时随地看视频慕课网APP