我在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。在另一台PC上,相同的代码运行良好,并返回正确的数字(例如,如果我在mysql.db表中有17条记录,则为3/17)。每台XP PC都有相同的PHP/Mysql版本,而且它过去在我的PC上运行得很好,使用Mysql查询浏览器进行相同的SQL查询,我得到了正确的数字。
谁能给我一个想法的解决方案,而不是重新安装所有?
对不起,我之前的要求非常不清楚。
https://stackoverflow.com/questions/674061
复制相似问题