Php 通过返回的行数获取用户的帖子数?

Php 通过返回的行数获取用户的帖子数?,php,mysql,Php,Mysql,所以我有一个问题。 我有一个聊天/IM网站,我正在工作,我正在制作一个用户配置文件页面。我想显示那个用户有多少帖子 我之前遇到的另一个问题是,当我调用某个值时,它将返回“Resource#1”类型的字符串。但我通过使用 $totalposts=mysql_query("SELECT * FROM `posts` WHERE Username='" . $username . "'"); $totalposts = mysql_fetch_row($totalposts); $totalposts

所以我有一个问题。 我有一个聊天/IM网站,我正在工作,我正在制作一个用户配置文件页面。我想显示那个用户有多少帖子

我之前遇到的另一个问题是,当我调用某个值时,它将返回“Resource#1”类型的字符串。但我通过使用

$totalposts=mysql_query("SELECT * FROM `posts` WHERE Username='" . $username . "'");
$totalposts = mysql_fetch_row($totalposts);
$totalposts = $totalposts[0];
但这只是返回最近帖子的最后一个帖子。我认为mysql_num_行可以工作。但此代码返回一个错误(带有数字的示例):

将返回此错误:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in       /home/a9091503/public_html/im/user.php on line 31
谢谢大家。:)我希望你能解决这个问题D

$posts=mysql_query("SELECT * FROM `posts` WHERE Username='" . $username . "'");
$totalposts = mysql_num_rows($posts);
print "total posts by user = ".$totalposts
如果您想显示注释或根据注释数量采取其他操作,可以使用此查询。(这将减少多个查询,例如一个查询行数,一个查询内容)

如果你只对评论的数量感兴趣,那么按照上面其中一个答案中的建议,使用下面的查询

SELECT count(*) FROM `posts` WHERE Username='$username'
试试这个

$totalposts=mysql_query("SELECT COUNT(postID) FROM `posts` WHERE Username='" . $username . "'"); 


为什么不在查询中使用Count(*)。您的num_行不应该在查询数据库之后,而不是之前?到底是什么?您将结果资源分配给
$totalposts
,然后使用
num_rows
中的结果覆盖它,然后再尝试覆盖它两次。当然,此时您会收到警告,$totalposts不再是结果资源。。。也许你也应该研究变量和赋值/在修复$totalposts分配问题后,请查看有关计数的信息。@MetalFrog是的,这是因为。>。谢谢,伙计。这很简单,但我想有一双新的眼睛去看我错过的东西总是好的非常感谢。这也行得通。我可能会使用你的代码,因为我明白你的意思。:)我的问题显示得很容易吗?
$res = mysql_query("SELECT COUNT(*) AS `count` FROM `posts` WHERE Username='$username'");
$row = mysql_fetch_assoc($res);
$totalposts = $row['count'];
$totalposts=mysql_query("SELECT COUNT(postID) FROM `posts` WHERE Username='" . $username . "'"); 
$totalposts=mysql_query("SELECT COUNT(*) FROM `posts` WHERE Username='" . $username . "'"); 
$result= mysql_query($totalpost);
$totalposts = mysql_result($result, 0, 0) // return first row and first col
echo $totalpost;