mysql_query()的返回值到底是什么
查找资料说mysql_query()的返回值是一个资源标识符,这个资源标识符又该如何理解呢?而且使用select查找时,就算没有找到符合要求的数据返回值也是一个资源标识符...
查找资料说mysql_query()的返回值是一个资源标识符,这个资源标识符又该如何理解呢?而且使用select查找时,就算没有找到符合要求的数据返回值也是一个资源标识符而不是FALSE。另外,有时候返回值为resource ID #5;但是数据库中只有ID号0到3的四个数据,这个#5是什么意思呢?还有使用$res=mysql_query("select * from.......)后怎么得到所搜索到的数据的ID号?
展开
10个回答
展开全部
mysql_query()一般是用来查询数据里面的数据。
如:
$username=$_POST["name"];
$sql="SELECT *FROM members where login_name = 'username'";
$result=mysql_query($sql);
以上程序是检测数据库中是否存在表单传送过来的用户名。
如果检测成功,$result是返回数据库中的匹配的记录,如果出错则$result为false。
需要注意的是,即使数据库中不存在查询的数据,检测也算成功,$result也不会是false.
所以,如果要检测数据库中是否有匹配记录就用语句mqsql_fetch_array()来判断。
$test=mqsql_fetch_array($result);
如果记录为空则$test为false。这样就达到了目的。
如:
$username=$_POST["name"];
$sql="SELECT *FROM members where login_name = 'username'";
$result=mysql_query($sql);
以上程序是检测数据库中是否存在表单传送过来的用户名。
如果检测成功,$result是返回数据库中的匹配的记录,如果出错则$result为false。
需要注意的是,即使数据库中不存在查询的数据,检测也算成功,$result也不会是false.
所以,如果要检测数据库中是否有匹配记录就用语句mqsql_fetch_array()来判断。
$test=mqsql_fetch_array($result);
如果记录为空则$test为false。这样就达到了目的。
展开全部
mysql_query()如果里面放的是查询之类的语句,那返回的是资源,说白了就是你要查的数据结果集;如果里面放的是增删改之类的语句,那返回的是true或者false了。
如果你要使用这个数据结果集,必须用mysql_result(), mysql_fetch_array(), mysql_fetch_row()等函数获取里面的数据,就是mysql_query()得和上面几个函数配合使用。
如果你要使用这个数据结果集,必须用mysql_result(), mysql_fetch_array(), mysql_fetch_row()等函数获取里面的数据,就是mysql_query()得和上面几个函数配合使用。
更多追问追答
追问
但是说没有查找到数据返回的也是一个资源标识符,想这个resource ID #5;该怎么理解呢?还有$res=mysql_query("select * from.......):$row=mysql_fetch_array($res);后怎么获得所有的查询结果的ID号呢
追答
resource ID #5这个是说明返回的是资源,这个ID #5跟你数据库中的字段ID是不同的,不用管这个。你用的$row=mysql_fetch_array($res);那么就可以例如$row['id'],里面的id是你数据表中的字段,来获取表中字段的值了。获取所有的用for循环或foreach循环获取就行了。不知道能不能帮到你。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-25
展开全部
如果sql查询语句是合法的,并能够被服务器执行,则返回值为一个资源标识符;否则返回false。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
布尔值 NULL ,false, 0 ," " ,都代表为假,
mysql_query 对于 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,打印出来是 类似于 “Resource id #3" 的一个字符串,所以就为真了。
这个 “Resource id #3" 就好比是一个指示牌, 连接着你要操作的数据,用函数操作他时,例如:mysql_fetch_array($insert), 他就把从数据库调出来的结果带到函数里做参数了。
mysql_query 对于 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,打印出来是 类似于 “Resource id #3" 的一个字符串,所以就为真了。
这个 “Resource id #3" 就好比是一个指示牌, 连接着你要操作的数据,用函数操作他时,例如:mysql_fetch_array($insert), 他就把从数据库调出来的结果带到函数里做参数了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-19
展开全部
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询