0Pricing
PHP Academy · Урок

Получение результатов с помощью PDO

Получайте строки с помощью fetchAll, fetch и режимов выборки PDO

«Получение результатов с помощью PDO» — бесплатный урок PHP Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

fetch() и fetchAll()

fetch() возвращает по одной строке за раз, перемещая указатель вперёд. fetchAll() возвращает все строки одним вызовом в виде массива.

fetch() в цикле

Идеальный вариант для больших наборов результатов: обрабатывает по одной строке, не загружая всё в память.

<?php
$stmt = $pdo->query("SELECT id, name FROM users");
while ($row = $stmt->fetch()) {
    echo $row["id"]." - ".$row["name"]."\n";
}

fetchAll()

Возвращает все строки сразу. Удобно для небольших наборов результатов.

<?php
$stmt = $pdo->query("SELECT * FROM products ORDER BY price");
$products = $stmt->fetchAll();

FETCH_ASSOC

Возвращает строки в виде ассоциативных массивов с ключами, соответствующими именам столбцов, — это наиболее распространённый режим выборки.

<?php
$row = $stmt->fetch(PDO::FETCH_ASSOC);
// $row["email"], $row["name"]

FETCH_OBJ

Возвращает строки как объекты stdClass. Обращайтесь к столбцам как к свойствам.

<?php
$stmt->setFetchMode(PDO::FETCH_OBJ);
$row = $stmt->fetch();
echo $row->email;

FETCH_CLASS

Непосредственно преобразует строки в экземпляры указанного класса.

<?php
$stmt->setFetchMode(PDO::FETCH_CLASS, User::class);
$users = $stmt->fetchAll(); // array of User objects

fetchColumn()

Извлекает значение одного столбца из следующей строки. Полезно для запросов COUNT.

<?php
$count = $pdo->query("SELECT COUNT(*) FROM orders")->fetchColumn();
echo "Total orders: ".$count;

FETCH_KEY_PAIR

Возвращает ассоциативный массив, в котором первый столбец является ключом, а второй — значением. Идеально подходит для поиска соответствий «идентификатор → имя».

<?php
$map = $pdo->query("SELECT id, name FROM categories")
           ->fetchAll(PDO::FETCH_KEY_PAIR);
// $map[1] = "Electronics", $map[2] = "Books"

FETCH_UNIQUE

FETCH_UNIQUE индексирует результат по первому столбцу, устраняя дубликаты.

FETCH_GROUP

FETCH_GROUP группирует строки по значению первого столбца — это полезно для отношений «один-ко-многим».

closeCursor()

Некоторые драйверы требуют вызвать closeCursor() для оператора перед выполнением другого запроса через то же подключение.

Пустые результаты

fetch() возвращает false, когда строк больше нет. Всегда проверяйте это: if ($row === false).

Быстрая проверка

Какой метод возвращает значение одного столбца из одной строки?

Часто задаваемые вопросы

Урок «Получение результатов с помощью PDO» бесплатный?

Да — полный текст урока «Получение результатов с помощью PDO» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Получение результатов с помощью PDO»?

Получайте строки с помощью fetchAll, fetch и режимов выборки PDO Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Получение результатов с помощью PDO»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Подключение к MySQL с помощью PDO
  2. Подготовленные выражения и привязка параметров
  3. Получение результатов с помощью PDO
  4. Транзакции с PDO
← Назад к PHP Academy