可能重复:
How do i “echo” a “Resource id #6” from a MySql response in PHP?
我有一个声明:
$query1 = mysql_query("SELECT COUNT(author) FROM userpages WHERE `author` = '" . $userid . "'") or die();
echo $query1;
忽略他们非常糟糕的命名惯例,它只是为了测试它,然后才加强它。因为我实际上没有从表中获取数据我应该能够回应声明不应该吗?然而它给了我一个错误。
错误是:资源ID#4
有什么建议吗?
感谢。
答案 0 :(得分:2)
mysql_query返回结果集资源,您必须使用
循环遍历结果集mysql_fetch_array($query1)
(或类似)检索每条记录。无论查询返回1行还是100,000行都没关系,原理是相同的
在感到需要寻求帮助之前,请阅读relevant sections of the manual详细解释这一点。阅读手册是你的朋友!
修改强>
while ($row = mysql_fetch_array($res,MYSQL_ASSOC)) {
echo $row['COUNT(author)'];
}
或将您的SQL查询更改为
$query1 = mysql_query("SELECT COUNT(author) AS authorcount FROM userpages WHERE `author` = '" . $userid . "'") or die();
然后
$row = mysql_fetch_array($res,MYSQL_ASSOC))
将返回索引为“authorcount”
的数组echo $row['authorcount'];
答案 1 :(得分:1)
我认为,这会有所帮助
$query = "SELECT COUNT(author) as cnt FROM userpages WHERE `author` = '" . $userid . "'";
echo $query;
$res = mysql_query($query);
while ($row = mysql_fetch_array($res,MYSQL_ASSOC)) {
print_r($row);
}
答案 2 :(得分:1)
http://www.php.net/manual/en/function.mysql-query.php
返回值:
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回 resultset,mysql_query()在成功时返回资源,或者返回FALSE 错误。
和
返回的结果资源应该传递给mysql_fetch_array(), 以及用于处理结果表的其他函数,以访问 返回数据。