我有这样的mysql查询:

$topicreplycount = mysql_query('SELECT COUNT(DISTINCT post_msg_id) FROM phpbb_attachments WHERE topic_id = '.$row['topic_id'].' AND post_msg_id < '.$row['post_msg_id']);


并希望通过以下方式获得结果:

$topicreplycount = mysql_result($topicreplycount);


所以可以说表中有4个类似的post_msg_id:

2956年
2957
2957
2958年

并且当前的$ row ['post_msg_id']是2958,有3个post_msg_id小于我正在比较的post_msg_id,并且只有2个不同的post_msg_ids,因为它们中的两个相同,我希望“ 2”为回到

但这似乎不起作用,我正确地做到了吗?使用此方法,我在$ topicreplycount变量中根本没有返回任何内容

我很确定usign mysql_result($ topicreplycount)一定是错误的,但是不知道该用什么

最佳答案

使用mysql_result,您需要至少指定行号,以便

$topicreplycount = mysql_result($topicreplycount,0);


应该管用。由于使用COUNT()函数将只会返回一个结果,这很好。

但是,建议不要使用mysql_系列函数。它们已被有效弃用(不是正式使用,但即使PHP文档也建议不要使用它们)。您应该切换到mysqli_或也许更好的是PDO。

10-02 22:35