袁来如此的工作笔记
袁来如此的工作笔记
竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生。

php中 (Resource id #42)

浏览量:718

你用的肯定是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


打赏