Obtención de resultados con PDO
Recupere filas con fetchAll, fetch y los modos de obtención de PDO.
Obtención de resultados con PDO es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.
fetch() frente a fetchAll()
fetch() devuelve una fila cada vez y avanza el cursor. fetchAll() devuelve todas las filas como una matriz en una sola llamada.
fetch() en un bucle
Es ideal para conjuntos de resultados grandes: procesa una fila cada vez sin cargarlo todo en la memoria.
<?php
$stmt = $pdo->query("SELECT id, name FROM users");
while ($row = $stmt->fetch()) {
echo $row["id"]." - ".$row["name"]."\n";
}fetchAll()
Devuelve todas las filas de una vez. Es práctico para conjuntos de resultados pequeños.
<?php
$stmt = $pdo->query("SELECT * FROM products ORDER BY price");
$products = $stmt->fetchAll();FETCH_ASSOC
Devuelve las filas como matrices asociativas indexadas por el nombre de la columna; es el modo de obtención más habitual.
<?php
$row = $stmt->fetch(PDO::FETCH_ASSOC);
// $row["email"], $row["name"]FETCH_OBJ
Devuelve las filas como objetos stdClass. Acceda a las columnas como propiedades.
<?php
$stmt->setFetchMode(PDO::FETCH_OBJ);
$row = $stmt->fetch();
echo $row->email;FETCH_CLASS
Hidrata las filas directamente en instancias de una clase determinada.
<?php
$stmt->setFetchMode(PDO::FETCH_CLASS, User::class);
$users = $stmt->fetchAll(); // array of User objectsfetchColumn()
Obtiene el valor de una sola columna de la siguiente fila. Resulta útil para consultas COUNT.
<?php
$count = $pdo->query("SELECT COUNT(*) FROM orders")->fetchColumn();
echo "Total orders: ".$count;FETCH_KEY_PAIR
Devuelve una matriz asociativa en la que la primera columna es la clave y la segunda es el valor; es perfecta para búsquedas de id→name.
<?php
$map = $pdo->query("SELECT id, name FROM categories")
->fetchAll(PDO::FETCH_KEY_PAIR);
// $map[1] = "Electronics", $map[2] = "Books"FETCH_UNIQUE
FETCH_UNIQUE indexa el resultado por la primera columna y elimina los duplicados.
FETCH_GROUP
FETCH_GROUP agrupa las filas por el valor de la primera columna; resulta útil para relaciones uno a muchos.
closeCursor()
Algunos controladores requieren closeCursor() en una sentencia antes de ejecutar otra consulta en la misma conexión.
Resultados nulos
fetch() devuelve false cuando no quedan más filas. Compruébelo siempre: if ($row === false).
Comprobación rápida
¿Qué método devuelve el valor de una sola columna de una fila?
Preguntas frecuentes
¿La lección «Obtención de resultados con PDO» es gratis?
Sí — el texto completo de «Obtención de resultados con PDO» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Obtención de resultados con PDO»?
Recupere filas con fetchAll, fetch y los modos de obtención de PDO. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Obtención de resultados con PDO»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Conexión a MySQL con PDO
- Sentencias preparadas y vinculación de parámetros
- Obtención de resultados con PDO
- Transacciones con PDO