Safu Zote Kutoka kwa Matokeo katika PDO PHP

Inawezekana kupata safu ya data ya safu zote kutoka kwa matokeo ya swala mara moja. Hii inafanywa kwa kutumia njia fetchAll. Tuangalie hali mbalimbali za utendaji wa njia hii. Mifano yote itakuwa kwa jedwali la majaribio.

Kupata Safu Rahisi

Tutumie njia fetchAll ili kupata safu rahisi ya data. Ili kufanya hivyo, wacha tuache vigezo vya njia viwe tupu:

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

Matokeo ya utekelezaji wa kodi:

php[
  [
    '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,
  ],
]

Kupata Safu Wima Moja

Wacha tupate safu wima moja tu kutoka kwenye jedwali. Ili kufanya hivyo, tupeane katika njia fetchAll kigezo FETCH_COLUMN:

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

Matokeo ya utekelezaji wa kodi:

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

Kupata Jozi ya Ufunguo-Thamani

Wacha tupate data kwa mfumo wa jozi ya ufunguo-thamani, ambapo ufunguo utakuwa kitambulisho (id), na thamani itakuwa jina la mtumiaji. Ili kufanya hivyo, kwenye kigezo cha njia fetchAll tutapeana hali FETCH_KEY_PAIR:

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

Matokeo ya utekelezaji wa kodi:

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

Kupata Rekodi zenye Uga wa Kipekee

Inawezekana kufanya ili uga wa kipekee (kwa kawaida hii ni id), uwe ufunguo kwa kila safu ndogo:

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

Matokeo ya utekelezaji wa kodi:

php[
  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,
  ],
]

Kazi za Vitendo

Задание 1

Onyesha watumiaji wote kutoka kwenye jedwali users, ukitumia njia iliyoelezewa kwenye somo.

Задание 2

Onyesha safu moja ya data kutoka kwenye jedwali users.

Задание 3

Onyesha jina na umri wa watumiaji kwa mfumo wa jozi ya ufunguo-thamani.