我创建了一个简单的函数,它接受用户ID并显示总数。用户ID的帖子
function totalpost($user_id){
$sql = 'SELECT * FROM posts WHERE u_id='.$user_id;
$total = mysql_num_rows(mysql_query($sql)) or die(mysql_errno());
return $total;
}
它的工作正常,但是当找到0记录时,它不会返回任何内容。
如果找不到记录,我想返回0
请帮忙
答案 0 :(得分:3)
function totalpost($user_id){
$sql = 'SELECT count(*) FROM posts WHERE u_id='.intval($user_id);
$res = mysql_query($sql)) or trigger_error(mysql_error().$sql);
$row = mysql_fetch_row($res);
return $row[0];
}
不是因为你需要0,而是因为你必须总是使用count()
而不是选择所有用户的帖子,这些帖子可能是大量的数据。
答案 1 :(得分:2)
尝试此查询:
SELECT COUNT(*) FROM posts WHERE u_id=xx
通过使用COUNT
函数,即使没有符合WHERE
子句的行,也可以保证返回0。