SQL_CALC_FOUND_ROWS不起作用

时间:2011-11-23 04:18:13

标签: php mysql sql

所以我执行查询:

SELECT SQL_CALC_FOUND_ROWS * FROM table l LIMIT 10, 20;

从表中返回20行,表中总共有553行

然后我立即执行SELECT FOUND_ROWS();

但这只返回数字1,尽管我的表中有553行(它应该返回553,我是否正确?)

我做错了什么?

2 个答案:

答案 0 :(得分:1)

我怀疑您有语法错误,因为SQL中的名称不应包含空格。尝试在[table 1]周围添加方括号,如果这是表格的名称。

答案 1 :(得分:0)

删除你的限制,我认为它没有显示20行;它只显示10行。

$sql = "SELECT SQL_CAL_FOUND_ROWS  * FROM users "; //don;t write table then table name
$result = mysql_query($sql);

//根据您的要求使用这些:

$sql = "SELECT SQL_CAL_FOUND_ROWS  * FROM users ";
$result = mysql_query($sql);
$sql = "SELECT FOUND_ROWS() AS `found_rows`";
$rows = mysql_query($sql);
$rows = mysql_fetch_assoc($rows);
$total_rows = $rows['found_rows'];