统计用户的所有近期帖子 - 不起作用

时间:2016-03-10 18:44:35

标签: php mysql sql

我想计算用户的所有帖子,从过去一小时开始。这是我的代码:

$all_user_recent_posts=mysql_query("select * from user_post where user_id=$userid and where post_time >= DATE_SUB(NOW(),INTERVAL 1 HOUR);");
$count_user_recent_posts=mysql_num_rows($all_user_recent_posts);

此代码不起作用(值为0)。但是当我删除and where post_time >= DATE_SUB(NOW(),INTERVAL 1 HOUR)时,它确实有用,但它会显示用户的所有帖子,而不是过去一小时的帖子。代码:

$all_user_recent_posts=mysql_query("select * from user_post where user_id=$userid;");
$count_user_recent_posts=mysql_num_rows($all_user_recent_posts);

2 个答案:

答案 0 :(得分:4)

正如我在评论中所述,并将其作为社区维基发布,因为在回复点方面无法从中获取任何信息。

where user_id=$userid and where post_time这是一个语法错误。

where user_id=$userid and post_time where子句使用一个,而不是多个,并由ANDOR分隔。

参考:

并且对您的查询进行错误检查也会告诉您相关信息。

并且还应根据您的查询进行检查,如果还有任何问题。

or die(mysql_error())添加到mysql_query()

错误报告是您可以使用的其他工具。

此外,post_time列必须是有效的MySQL日期类型。

如果您尝试使用varchar类型进行数学运算,那么它将无法正常工作,或者任何与日期无关的有效类型。

请教:

您不知道如何使用mysql_num_rows()

以下两个例子会有不同的反应。

if(mysql_num_rows($result) > 0)

if(mysql_num_rows($result) == 1)

答案 1 :(得分:0)

您的查询中还有一个位置

data.images

将此替换为

and where post_time >= DATE_SUB(NOW(),INTERVAL 1 HOUR);

希望有所帮助: - )