SQL_CALC_FOUND_ROWS / FOUND_ROWS() 在PHP中不起作用。
- 论坛
- SQL_CALC_FOUND_ROWS / FOUND_ROWS() 在PHP中不起作用。
11 浏览
SQL_CALC_FOUND_ROWS / FOUND_ROWS() 在PHP中不起作用。
我在MySQL的SELECT语句中使用SQL_CALC_FOUND_ROWS
,以获取没有LIMIT子句的情况下SELECT语句将返回的行数。
$sql = new mysqli('localhost', 'root', ''); $sql->select_db('mysql'); $s1 = $sql->query('select SQL_CALC_FOUND_ROWS * from db limit 0, 3'); $s2 = $sql->query('select FOUND_ROWS()'); if($row = $s2->fetch_row()) printf('%d/%d', $s1->num_rows, $row[0]);
在我使用的WinXP开发站点上,几周来每次都返回3/0。当我从我的站点使用另一个MySQL服务器时,也返回3/0。
在其他电脑上,相同的代码运行良好,并返回正确的数量(例如,如果在mysql.db表中有17条记录,则返回3/17)。每个XP电脑都具有相同的PHP/MySQL版本,并且在我的电脑上过去运行良好。
使用相同的SQL查询在MySQL Query Browser中可以获得正确的数量。
有没有人可以给我一个解决方案的想法,而不需要重新安装所有内容?
抱歉,我之前的请求非常不清楚。