НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗ppSpPDADG 66 of 83 menu

Все ряды из результата в PDO в PHP

Можно сразу получить массив всех рядов из результата запроса. Это делается с помощью метода fetchAll. Давайте рассмотрим различные режимы работы этого метода. Все примеры будут для тестовой таблицы.

Получение простого массива

Давайте применим метод fetchAll для получения простого массива данных. Для этого оставим параметры метода пустыми:

<?php $res = $pdo->query('SELECT * FROM users'); $row = $res->fetchAll(); var_dump($row); ?>

Результат выполнения кода:

[ [ 'id' => 1, 'name' => 'name1', 'age' => 21, 'salary' => 500, ], [ 'id' => 2, 'name' => 'name2', 'age' => 22, 'salary' => 600, ], [ 'id' => 3, 'name' => 'name3', 'age' => 23, 'salary' => 600, ], [ 'id' => 4, 'name' => 'name4', 'age' => 24, 'salary' => 700, ], [ 'id' => 5, 'name' => 'name5', 'age' => 25, 'salary' => 800, ], ]

Получение одной колонки

Давайте получим только одну колонку из таблицы. Для этого передадим в метод fetchAll параметр FETCH_COLUMN:

<?php $res = $pdo->query('SELECT name FROM users'); $row = $res->fetchAll(PDO::FETCH_COLUMN); var_dump($row); ?>

Результат выполнения кода:

[ 'name1', 'name2', 'name3', 'name4', 'name5', ]

Получение пары ключ-значение

Давайте получим данные в виде пары ключ-значение, где ключом будет айди, а значением имя юзера. Для этого в параметр метода fetchAll передадим режим FETCH_KEY_PAIR:

<?php $res = $pdo->query('SELECT id, name FROM users'); $row = $res->fetchAll(PDO::FETCH_KEY_PAIR); var_dump($row); ?>

Результат выполнения кода:

[ 1 => 'name1', 2 => 'name2', 3 => 'name3', 4 => 'name4', 5 => 'name5', ]

Получение записей с уникальным полем

Можно сделать так, чтобы уникальное поле (как правило это id), стало ключом для каждого подмассива:

<?php $res = $pdo->query('SELECT * FROM users'); $row = $res->fetchAll(PDO::FETCH_UNIQUE); var_dump($row); ?>

Результат выполнения кода:

[ 1 => [ 'id' => 1, 'name' => 'name1', 'age' => 21, 'salary' => 500, ], 2 => [ 'id' => 2, 'name' => 'name2', 'age' => 22, 'salary' => 600, ], 3 => [ 'id' => 3, 'name' => 'name3', 'age' => 23, 'salary' => 600, ], 4 => [ 'id' => 4, 'name' => 'name4', 'age' => 24, 'salary' => 700, ], 5 => [ 'id' => 5, 'name' => 'name5', 'age' => 25, 'salary' => 800, ], ]

Практические задачи

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

Выведите один ряд данных из таблицы users.

Выведите имя и возраст пользователей в виде пары ключ-значение.

Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить