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 աղյուսակից:
Ցուցադրեք օգտագործողների անուններն ու տարիքը բանալի-արժեք զույգի տեսքով: