fetch()
función le devuelve la siguiente fila del conjunto de resultados. Necesita algo como esto para obtener todos los resultados:
while($data = $sql->fetch()) {
echo ($data['author']);
echo ($data['date']);
//...etc...
}
O puede usar fetchAll()
función que devuelve una matriz con cada fila del resultado y puede usar un bucle superior para recorrer la matriz y hacer lo que quiera con cada fila.
Ejemplo con fetchAll()
:
$data = $sql->fetchAll(PDO::FETCH_ASSOC);
foreach($data as $row) {
echo $row['autor'];
echo $row['date'];
//do whatever you want with the row
}