更好的方法是使用mysql count()或num_rows

时间:2015-03-26 16:40:34

标签: mysql select count

我正在使用这个mysql select查询来检查数据库中给定类别存在多少图像。我想为一个类别保留最多5张图片。

$q = "SELECT image_id FROM image_info
            WHERE category_id = 1 AND member_id = $userId";
$r = $mysqli->query($q) or trigger_error($mysqli->error." [$q]"); 

if($r->num_rows <= 4) {
    echo 'good';
    // my stuff 
} else {
    echo 'bad';
}

这对我有用。但我想知道有没有办法使用mysql COUNT()进行此查询?如果是这样,那么更好的方法是什么。

谢谢。

1 个答案:

答案 0 :(得分:0)

这取决于你想要达到的目标

当记录数量少于获取的结果记录数时,

num_rows会更好。

count(*)是与查询匹配的数据库中的记录数。 Count(*)比num_rows更有效,就像在num_rows中从数据库中检索那么多记录并最终将这些记录传递给PHP


"SELECT count(*) FROM image_info WHERE category_id ='".$userId."'";