Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP PDO SQL ne renvoyant qu'une seule ligne de données au lieu de toutes les lignes

PDOStatement::fetch() ne renverra qu'une seule ligne à la fois.

Vous pouvez utiliser PDOStatement::fetchAll() :

$rows = $_stmt->fetchAll(PDO::FETCH_ASSOC);

ou créez une boucle où vous continuez à appeler PDOStatement::fetch() jusqu'à ce qu'il renvoie false :

$rows = array();
while( $row = $_stmt->fetch(PDO::FETCH_ASSOC) ) {
  $rows[] = $row;
}

Mais ce dernier exemple est un peu redondant, si vous voulez de toute façon obtenir toutes les lignes à la fois, à moins qu'il y ait des problèmes de mémoire que vous souhaitez résoudre.