【发布时间】:2013-06-21 16:23:06
【问题描述】:
在 php-mysql 中,如何计算 SELECT 查询中返回的行数?
让我们想想SELECT 查询是这样的:
$q = "SELECT * from users LIMIT 20,60"
但如果总记录数仅为 55,则结果是用户从 20 到 55,总数为 35 而不是 40!
如何在不查询数据库两次的情况下获得数字 35?
现在我正在这样做:
$q = "SELECT COUNT(*) from users LIMIT 20, 60";
$result = mysqli_query($db_connection, $1);
$count = mysqli_fetch_row($result);
$count = $count[0];
但是在这里我查询了数据库两次,我认为这不太好。
我知道我可以在不考虑LIMIT、使用SQL_CALC_FOUND_ROWS 和FOUND_ROWS() 的情况下获得总行数,但这不是我的情况,因为我想考虑LIMIT。
谢谢!
【问题讨论】:
标签: php sql select count limit