Comptage des lignes de la réponse à un select : cas où count(*) ne marche pas
Bonsoir,
dans le cas d'une requête select simple, c'est facile :
Code:
1 2 3 4 5
|
$sql = "SELECT COUNT(*) AS compte FROM `nom_table`";
$qid = $pdo->query($sql);
$row=$qid->fetch(PDO::FETCH_OBJ);
$num=$row->compte; |
mais dans le cas où on ne lit que certains champs $sql="SELECT champ1,champ2,COUNT(*) AS compte FROM `nom_table`";
Code:
1 2 3
| $qid = $pdo->query($sql);
$row=$qid->fetch(PDO::FETCH_OBJ);
$nrows=$row->compte; |
retourne un résultat différent de
Code:
1 2 3 4 5
|
$sql="SELECT champ1,champ2 FROM `nom_table`";
$num=0;
$qid = $pdo->query($sql);
while( $ligne=$qid->fetch(PDO::FETCH_OBJ) ) $num++; |
y a-t-il mieux que la 2e solution ?