我正在使用这个 mysql 选择查询来检查数据库中给定类别存在多少图像。我想为一个类别保留最多 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()
进行此查询?如果是这样,更好的方法是什么。
谢谢。
最佳答案
这取决于你想要实现什么
num_rows
当记录数较少时更好,因为它是获取的结果记录数。
count(*)
是数据库中与查询匹配的记录数。 Count(*) 比 num_rows 更有效,因为在 num_rows 中,您从数据库检索许多记录并最终将这些记录传递给 PHP
"SELECT count(*) FROM image_info WHERE category_id ='".$userId."'";
关于mysql - 使用 mysql count() 或 num_rows 的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29284126/