一直关注 here 中的示例和许多其他网站,但没有得到预期的结果
我的 PHP 代码片段;
$query="SELECT * FROM book";
$result=mysql_query($query);
echo mysql_num_rows($result); //returns 14
$query="SELECT FOUND_ROWS()";
$rtotal=mysql_query($query);
echo mysql_result($rtotal,0); //returns 14
$query="SELECT * FROM book LIMIT 0,4";
$result=mysql_query($query);
echo mysql_num_rows($result); //returns 4
$query="SELECT FOUND_ROWS()";
$rtotal=mysql_query($query);
echo mysql_result($rtotal,0); //returns 4 Why is it 4 and not 14??
在最后一个例子中,为什么是 4 而不是 14?我做错了什么?
最佳答案
将 SQL_CALC_FOUND_ROWS 添加到您的选择语句:http://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_found-rows
这会强制 MySQL 计算行数,就好像限制语句不存在一样。
$query="SELECT SQL_CALC_FOUND_ROWS * FROM book LIMIT 0,4";
关于php - 使用 LIMIT 时获取总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10084029/