本帖最后由 xuzuning 于 2013-03-11 09:05:47 编辑
如果你的sql指令就是#1的样子,那么对不起!
select FOUND_ROWS() 不会被发送到mysql去执行,因为他违反了一次只执行一条指令的安全约定
你可以将你的这两条指令写成存储过程
delimiter //<br />
CREATE PROCEDURE `test`()<br />
begin<br />
select SQL_CALC_FOUND_ROWS * from table limit 1,10;<br />
select FOUND_ROWS();<br />
end;<br />
// <br />
后这样执行
$queryString = 'call test();';<br />
$query = $dbh->query($queryString);<br />
do {<br />
$rows = $query->fetchAll();<br />
print_r($rows);<br />
}while($query->nextRowset());