嗨,我在计算帖子的回复行数时遇到问题。我正在做一个简单的论坛脚本项目。我只想在我的论坛上有回复计数这里是我制作的剧本。
$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回复,但我在两个主题上获得相同的值
希望有人能提前帮助我。
答案 0 :(得分:1)
我将忽略您使用的是已弃用的函数,并且您的查询容易受到SQL注入攻击。
试试这个:
$replyCount = mysql_query("
SELECT
IFNULL(COUNT(id), 0) AS total
FROM
topic_reply
GROUP BY
tid");
如果您想知道每个TID的计数,请删除查询中的WHERE
子句。
通过过滤FID,您只需要计算特定的TID。
请参阅此sqlfiddle:
答案 1 :(得分:0)
这可能是$ topic_id的问题。回音并检查您正在访问的每个主题是否正确。
请按照其他评论的建议,使用PDO并阻止SQL注入。如果您不熟悉,请阅读它们。