Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o total de linhas encontradas sem considerar o limite no PDO?


MySQL somente AFAIK:
$r=$db->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM locations WHERE area=:area LIMIT $start,10");
$r->execute($fields);

var_dump($r->fetchAll());

var_dump($db->query('SELECT FOUND_ROWS();')->fetch(PDO::FETCH_COLUMN));

Tão pesado para o servidor de banco de dados quanto consultar uma única vez para todos os registros, é claro. Para uso não-MySQL, essa consulta é obviamente melhor do que obter o número de linhas de todos os registros:
$r=$db->prepare("SELECT COUNT(*) FROM locations WHERE area=:area");
$r->execute($fields);
$count = $r->fetch(PDO::FETCH_COLUMN);
echo $count;