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

PHP PDO SQL retornando apenas uma linha de dados em vez de todas as linhas


PDOStatement::fetch() retornará apenas 1 linha por vez.

Você pode usar PDOStatement::fetchAll() :
$rows = $_stmt->fetchAll(PDO::FETCH_ASSOC);

ou crie um loop onde você continue chamando PDOStatement::fetch() até retornar false :
$rows = array();
while( $row = $_stmt->fetch(PDO::FETCH_ASSOC) ) {
  $rows[] = $row;
}

Mas o último exemplo é um pouco redundante, se você quiser obter todas as linhas de uma só vez, a menos que haja alguns problemas de memória que você deseja resolver.