Kaikki rivit tuloksesta PDO:ssa PHP:ssä

Voit heti saada taulukon kaikista riveistä kyselyn tuloksesta. Tämä tehdään käyttämällä metodia fetchAll. Katsotaanpa erilaisia tämän metodin toimintatiloja. Kaikki esimerkit koskevat testitaulukkoa.

Yksinkertaisen taulukon saaminen

Sovelletaan metodia fetchAll saadaksemme yksinkertaisen datataulukon. Jätä tätä varten metodin parametrit tyhjiksi:

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

Koodin suorituksen tulos:

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

Yhden sarakkeen saaminen

Saadaan vain yksi sarake taulukosta. Lähetä tätä varten metodille fetchAll parametri FETCH_COLUMN:

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

Koodin suorituksen tulos:

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

Avain-arvo -parin saaminen

Saadaan data muodossa avain-arvo -pari, jossa avaimena on id, ja arvona käyttäjän nimi. Lähetä parametriin metodia fetchAll tilaksi FETCH_KEY_PAIR:

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

Koodin suorituksen tulos:

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

Tietueiden saaminen yksilöllisellä kentällä

Voit tehdä niin, että yksilöllisestä kentästä (yleensä se on id) tulee avain jokaiselle alitaulukolle:

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

Koodin suorituksen tulos:

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

Käytännön tehtävät

Задание 1

Tulosta kaikki käyttäjät taulukosta users, käyttäen tässä oppitunnissa kuvattua metodia.

Задание 2

Tulosta yksi datarivi taulukosta users.

Задание 3

Tulosta käyttäjien nimi ja ikä avain-arvo -parina.