PDO Fetch Methods
fetch() retrieves one row. fetchAll() retrieves all rows. fetchColumn() retrieves a single column value.
fetch() retrieves one row. fetchAll() retrieves all rows. fetchColumn() retrieves a single column value.
<?php
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute(["id" => $id]);
// Single row as associative array
$user = $stmt->fetch(PDO::FETCH_ASSOC);
// All rows
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Into a class (auto-populates public properties)
$user = $stmt->fetch(PDO::FETCH_CLASS, User::class);
// Single column value
$name = $pdo->query("SELECT name FROM users WHERE id = 1")->fetchColumn();
// Count
$total = $pdo->query("SELECT COUNT(*) FROM users")->fetchColumn();
Set PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC on connection to avoid specifying it on every fetch() call.