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

'fetch' no PDO obtém apenas um resultado


Fetch deve ser usado para exibir a próxima linha do resultado do banco de dados.

Para obter todas as linhas, você deve usar fetchAll() ;

Altere seu exemplo para:
<?php
    $sql = new PDO('mysql:host=localhost;dbname=b', 'root', 'root');
    $f = $sql->query('select * from user');
    $f->setFetchMode(PDO::FETCH_ASSOC);
    print_r($f->fetchAll());
?>

ou se você quiser usar PDOStatement::fetch para
<?php
    $sql = new PDO('mysql:host=localhost;dbname=b', 'root', 'root');
    $f = $sql->query('select * from user');
    while($row = $sth->fetch(PDO::FETCH_ASSOC))
    {
      print_r($row);
    }
?>