0

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

$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 个回复,但我在两个主题上得到相同的值

希望有人可以帮助我提前感谢。

4

2 回答 2

1

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

试试这个:

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

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

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

看到这个 sqlfiddle:

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

于 2013-10-03T14:44:23.347 回答
0

这可能是 $topic_id 的问题。回显它并检查它是否对于您正在访问的每个主题都是正确的。

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

于 2013-10-03T14:48:59.910 回答