Obtenir le Nombre de Lignes à partir d'une instruction Select
J'ai ceci:
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=$mdbFilename", $username, $password);
$sql = "SELECT * FROM this_table";
$stmt = $dbh->query($sql);
//num of rows?
Comment puis-je obtenir le nombre de lignes retournées par cette instruction SELECT?
Merci à tous
OriginalL'auteur Abs | 2010-02-21
Vous devez vous connecter pour publier un commentaire.
SELECT count(*) FROM this_table
est une option...Concernant rowCount:
PDOStatement::rowCount() retourne le nombre de lignes affectées par la dernière DELETE, INSERT ou UPDATE instruction exécutée par l'objet PDOStatement.
Si la dernière instruction SQL exécutée par les associés PDOStatement est une instruction SELECT, certaines bases de données peuvent retourner le nombre de lignes retournées par cette déclaration. **
Cependant, ce comportement n'est pas garanti pour toutes les bases de données et ne doit pas être invoqué pour des applications portables.
Ce lien peut être utile: php.net/manual/en/pdostatement.rowcount.php
OriginalL'auteur Leniel Maccaferri
J'ai trouvé une solution, utiliser fetchAll et puis, à l'aide de compter sur ce tableau - qui est ce que MySQL n'est de toute façon en interne, un peu inefficace, mais cela fonctionne pour moi.
À partir d'une autre question Tchad fourni cette idée:
Espère que ce sera utile à quelqu'un.
C'est un MAUVAIS idée. Que faire si votre sélection renvoie millions de lignes?
Comment Count(*) est meilleure performance?
OriginalL'auteur Abs