【发布时间】:2010-11-04 11:30:07
【问题描述】:
$result = $db_con->query("SELECT SQL_CALC_FOUND_ROWS * FROM users LIMIT 0,10");
$count_result = $db_con->query("SELECT FOUND_ROWS() as totalcount");
$row = $count_result->fetch_assoc();
$total = $row['totalcount'];
$total 始终返回 0,即使 $result 包含其中的所有用户行。
ini_set("mysql.trace_mode", "0");
我通过在此处搜索类似的 Q 发现了此设置,但它并没有解决我的问题。
当我在我的 MySQL 客户端中使用 2 个 select 语句时,它总是输出正确的计数。只是似乎无法弄清楚如何让它在我的 php 页面上运行。
PHP 版本:5.2.5 build 6 MySQL 版本:5.1.30
注意:我在此处提供的代码并未用于我的实际项目,但是,它确实说明了我无法检索总计数的问题。这段代码,从我读过的关于 found_rows() 的内容来看,应该可以工作,但它不能。
【问题讨论】:
-
@Seth : 你尝试添加 LIMIT 子句了吗?
-
ini_set("mysql.trace_mode", "0");解决我的问题。感谢您的提问:)