您好我正在尝试计算特定行大于0的表。 如果table(requests)的行(rq_stamp)大于0,则应该对其进行计数/选择。
这是我到目前为止所得到的但我总是得到1.($ num_rows总是1)。
$rq_notice = mysql_query("SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' HAVING COUNT(rq_stamp) > 0 ") or die(mysql_error());
if(mysql_num_rows($rq_notice) > 0 )
{
$num_rows = mysql_num_rows($rq_notice);
echo $num_rows;
}
感谢您提供的任何帮助,如果之前已经回答了问题,我很抱歉,但是当我搜索时我找不到它。
答案 0 :(得分:0)
通过使用COUNT()
,您将在查询中引入一个似乎没有必要的聚合。如果您只是想确定rq_stamp
的值是否大于0,请执行以下操作:
SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' AND rq_stamp > 0
答案 1 :(得分:0)
我认为你确实误解了伯爵的作用;)
您在这里写的是一个查询。换句话说,您正在发送搜索数据的人。您将得到的就是您在SELECT部分中定义的内容。
如果按特定列分组,则可以使用Count。你可以在这里f.e.在存储照片及其上传者的表格上设置查询。使用 count ,您现在可以为每个上传者获取大量上传的照片。更多示例:http://dev.mysql.com/doc/refman/5.1/en/counting-rows.html
我想你想做这样的事情:
SELECT * FROM requests WHERE rq_poster = '$rq_notice_user' AND rq_stamp > 0
只需获取海报为X且时间戳为>的所有请求。 0.使用PHP,您现在可以检查收集了多少行,并且可以使用mysql_query获取行。 http://php.net/mysql_query
但请使用mysqli或PDO而不是mysql。我在这里只是谈论你在PHP中使用的函数。从PHP 5.5开始,不推荐使用PHP扩展mysql,你不应该使用现在已经知道的东西。如果你问,为什么它被弃用:http://de2.php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated