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() ;
- PDOStatement::fetch — Busca a próxima linha de um conjunto de resultados
- PDOStatement::fetchAll() — Retorna um array contendo todas as linhas do conjunto de resultados
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);
}
?>