mySQL中有LIMIT的sql SELECT查询的计数


COUNT of sql SELECT query with LIMIT in mySQL

在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];

但是这里我查询了两次DB,我认为这不是很好。
我知道我可以不考虑LIMIT,使用SQL_CALC_FOUND_ROWSFOUND_ROWS()来获得行总数,但这不是我的情况,因为我想考虑LIMIT
谢谢!

你想要num_rows

$count = $result->num_rows;

可以使用

$q = "SELECT COUNT(*) from users LIMIT 20, 60";
$result = mysqli_query($db_connection, $1);
$count = mysqli_num_rows($result);

mysqli_num_rows()返回no。行