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 таблицасынан бир катар маалыматты чыгарыңыз.
Колдонуучулардын аты жана жашын ачкыч-маани жуптугу түрүндө чыгарыңыз.