SyntaxStudy
Sign Up
PHP Intermediate 4 min read

Fetching Results

PDO Fetch Methods

fetch() retrieves one row. fetchAll() retrieves all rows. fetchColumn() retrieves a single column value.

Example
<?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();
Pro Tip

Set PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC on connection to avoid specifying it on every fetch() call.