所以我执行查询:
SELECT SQL_CALC_FOUND_ROWS * FROM table l LIMIT 10, 20;
从表中返回20行,表中总共有553行
然后我立即执行SELECT FOUND_ROWS();
但这只返回数字1,尽管我的表中有553行(它应该返回553,我是否正确?)
我做错了什么?
答案 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'];