Усе радкі з выніку ў 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',
]
Атрыманне пары ключ-значэнне
Давайце атрымаем даныя ў выглядзе
пары ключ-значэнне, дзе ключом будзе id,
а значэннем імя карыстальніка. Для гэтага ў параметр
метаду 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.
Вывядзіце імя і ўзрост карыстальнікаў у выглядзе пары ключ-значэнне.