【发布时间】:2015-03-26 16:40:33
【问题描述】:
我正在使用这个 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';
}
这对我有用。但我想知道有没有办法使用mysqlCOUNT() 进行此查询?如果是这样,有什么更好的方法来做到这一点。
谢谢。
【问题讨论】:
-
警告:使用
mysqli时,您应该使用参数化查询和bind_param将用户数据添加到您的查询中。 请勿使用字符串插值来完成此操作,因为您将创建严重的SQL injection bugs。 从不将$_POST数据直接放入查询中。 -
有些实例(在 stackoverflow.com 和其他网站上注明) COUNT() 返回不正确的值。所以我认为应该使用 num_rows。
-
@tadman,谢谢你的建议。你能告诉我如何使用
COUNT()创建关于查询吗?