sql >> Databasteknik >  >> RDS >> Mysql

Hur får man det totala antalet hittade rader utan att beakta gränsen i PDO?

MySQL endast 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));

Ungefär lika tungt för databasservern som att fråga en enda gång för alla poster förstås. För icke-MySQL-användning är denna fråga naturligtvis bättre än att få radantalet alla posterna:

$r=$db->prepare("SELECT COUNT(*) FROM locations WHERE area=:area");
$r->execute($fields);
$count = $r->fetch(PDO::FETCH_COLUMN);
echo $count;



  1. Allvarligt fel:Anrop till en medlemsfunktion bind_param() på boolean

  2. Släpp unik nyckel med flera kolumner utan att tappa främmande nyckel?

  3. Python, Brew och MySQLdb

  4. Använd datum i Excel-cell i BETWEEN-satsen i SQL-fråga