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

'fetch' dans PDO n'obtient qu'un seul résultat

Fetch doit être utilisé pour afficher la ligne suivante à partir du résultat de la base de données.

Pour obtenir toutes les lignes, vous devez utiliser fetchAll() ;

Remplacez votre exemple par :

<?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 si vous voulez utiliser PDOStatement::fetch à

<?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);
    }
?>