Obtenção de resultados com PDO
Recupere linhas com fetchAll, fetch e modos de obtenção do PDO.
Obtenção de resultados com PDO é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.
fetch() vs fetchAll()
fetch() retorna uma linha por vez, avançando o cursor. fetchAll() retorna todas as linhas como um vetor em uma única chamada.
fetch() em um laço
Ideal para conjuntos de resultados grandes — processa uma linha por vez sem carregar tudo na memória.
<?php
$stmt = $pdo->query("SELECT id, name FROM users");
while ($row = $stmt->fetch()) {
echo $row["id"]." - ".$row["name"]."\n";
}fetchAll()
Retorna todas as linhas de uma vez. É conveniente para conjuntos de resultados pequenos.
<?php
$stmt = $pdo->query("SELECT * FROM products ORDER BY price");
$products = $stmt->fetchAll();FETCH_ASSOC
Retorna as linhas como vetores associativos indexados pelo nome da coluna — o modo de busca mais comum.
<?php
$row = $stmt->fetch(PDO::FETCH_ASSOC);
// $row["email"], $row["name"]FETCH_OBJ
Retorna as linhas como objetos stdClass. Acesse as colunas como propriedades.
<?php
$stmt->setFetchMode(PDO::FETCH_OBJ);
$row = $stmt->fetch();
echo $row->email;FETCH_CLASS
Preenche as linhas diretamente em instâncias de uma determinada classe.
<?php
$stmt->setFetchMode(PDO::FETCH_CLASS, User::class);
$users = $stmt->fetchAll(); // array of User objectsfetchColumn()
Busca o valor de uma única coluna da próxima linha. É útil para consultas com COUNT.
<?php
$count = $pdo->query("SELECT COUNT(*) FROM orders")->fetchColumn();
echo "Total orders: ".$count;FETCH_KEY_PAIR
Retorna um vetor associativo no qual a primeira coluna é a chave e a segunda é o valor — ideal para buscas de id para nome.
<?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 o resultado pela primeira coluna, eliminando duplicatas.
FETCH_GROUP
FETCH_GROUP agrupa as linhas pelo valor da primeira coluna — útil para relacionamentos de um para muitos.
closeCursor()
Alguns controladores exigem closeCursor() em uma instrução antes que outra consulta seja executada na mesma conexão.
Resultados ausentes
fetch() retorna false quando não há mais linhas. Sempre verifique: if ($row === false).
Verificação rápida
Qual método retorna o valor de uma única coluna de uma linha?
Perguntas Frequentes
A aula “Obtenção de resultados com PDO” é grátis?
Sim — o texto completo de “Obtenção de resultados com PDO” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.
O que vou aprender em “Obtenção de resultados com PDO”?
Recupere linhas com fetchAll, fetch e modos de obtenção do PDO. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Obtenção de resultados com PDO”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Conexão com MySQL usando PDO
- Instruções preparadas e vinculação
- Obtenção de resultados com PDO
- Transações com PDO