Tất cả các hàng từ kết quả trong PDO của PHP
Bạn có thể lấy ngay một mảng chứa tất cả
các hàng từ kết quả truy vấn.
Điều này được thực hiện bằng phương thức fetchAll.
Hãy cùng xem xét các chế độ hoạt động khác nhau
của phương thức này.
Tất cả các ví dụ sẽ dành cho bảng kiểm tra.
Lấy mảng đơn giản
Hãy áp dụng phương thức fetchAll
để lấy một mảng dữ liệu đơn giản.
Để làm điều này, hãy để trống các tham số của phương thức
:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll();
var_dump($row);
?>
Kết quả thực thi mã:
[
[
'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,
],
]
Lấy một cột
Hãy lấy chỉ một cột
từ bảng. Để làm điều này, hãy truyền vào
phương thức fetchAll tham số
FETCH_COLUMN:
<?php
$res = $pdo->query('SELECT name FROM users');
$row = $res->fetchAll(PDO::FETCH_COLUMN);
var_dump($row);
?>
Kết quả thực thi mã:
[
'name1',
'name2',
'name3',
'name4',
'name5',
]
Lấy cặp khóa-giá trị
Hãy lấy dữ liệu dưới dạng
cặp khóa-giá trị, trong đó khóa là id,
và giá trị là tên người dùng. Để làm điều này, hãy truyền vào tham số
của phương thức fetchAll chế độ
FETCH_KEY_PAIR:
<?php
$res = $pdo->query('SELECT id, name FROM users');
$row = $res->fetchAll(PDO::FETCH_KEY_PAIR);
var_dump($row);
?>
Kết quả thực thi mã:
[
1 => 'name1',
2 => 'name2',
3 => 'name3',
4 => 'name4',
5 => 'name5',
]
Lấy các bản ghi với trường duy nhất
Bạn có thể làm sao cho trường duy nhất (thông thường
là id) trở thành khóa cho mỗi
mảng con:
<?php
$res = $pdo->query('SELECT * FROM users');
$row = $res->fetchAll(PDO::FETCH_UNIQUE);
var_dump($row);
?>
Kết quả thực thi mã:
[
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,
],
]
Bài tập thực hành
Hiển thị tất cả người dùng
từ bảng users,
sử dụng phương thức đã mô tả trong bài học
.
Hiển thị một hàng dữ liệu
từ bảng users.
Hiển thị tên và tuổi của người dùng dưới dạng cặp khóa-giá trị.