Cómo generar datos cuando se usa $ stmt-> fetch (DOP :: FETCH_ASSOC);

¿Cómo se $stmt->fetch(PDO::FETCH_ASSOC) correctamente los datos cuando se usa $stmt->fetch(PDO::FETCH_ASSOC) ? En este momento estoy obteniendo palabras sueltas como mi resultado al hacer

 "select name, author, title from d_books" // Other PDO stuff goes here $arr = $stmt->fetch(PDO::FETCH_ASSOC); foreach ($arr as $titleData) { echo $titleData['name']; } 

  $pdo = new PDO(/*Your credentials*/); $sql = `select name, author, title from d_books` $stmt = $pdo->prepare($sql); $stmt->execute(); while ($arr = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $arr['name']; } 

o

  $pdo = new PDO(/*Your credentials*/); $sql = `select name, author, title from d_books` $stmt = $pdo->prepare($sql); $stmt->execute(); $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($arr as $titleData) { echo $titleData['name']; } 

Siempre se puede usar el pdo->query() cuando se ejecuta una consulta sin ningún parámetro, que es más rápido, pero no creo que esto suceda mucho (las consultas se ejecutan sin ningún parámetro).