php计数回复帖子

时间:2013-10-03 14:25:25

标签: php mysql

嗨,我在计算帖子的回复行数时遇到问题。我正在做一个简单的论坛脚本项目。我只想在我的论坛上有回复计数这里是我制作的剧本。

$replyCount = mysql_query("SELECT COUNT(id) AS total FROM topic_reply WHERE tid = '".$topic_id."' ");

$row = mysql_fetch_object($replyCount);
$reply_count_rows = $row->total;

问题是我得到了2个不同主题的相同结果 它就像这样

Topic 1 / Reply 2

Topic 2 / Reply 2

**Topic 1**有2个回复且**Topic 2**没有或0回复,但我在两个主题上获得相同的值

希望有人能提前帮助我。

2 个答案:

答案 0 :(得分:1)

我将忽略您使用的是已弃用的函数,并且您的查询容易受到SQL注入攻击。

试试这个:

 $replyCount = mysql_query("
 SELECT
     IFNULL(COUNT(id), 0) AS total
 FROM
      topic_reply
 GROUP BY
       tid");

如果您想知道每个TID的计数,请删除查询中的WHERE子句。

通过过滤FID,您只需要计算特定的TID。

请参阅此sqlfiddle:

http://sqlfiddle.com/#!2/ea106/4

答案 1 :(得分:0)

这可能是$ topic_id的问题。回音并检查您正在访问的每个主题是否正确。

请按照其他评论的建议,使用PDO并阻止SQL注入。如果您不熟悉,请阅读它们。