Alle rye uit die resultaat in PDO in PHP

Jy kan dadelik 'n array van alle rye uit die navraagresultaat kry. Dit word gedoen met die fetchAll-metode. Laat ons verskillende werkmodusse van hierdie metode ondersoek. Alle voorbeelde sal vir die toetstabel wees.

Verkryging van eenvoudige array

Laat ons die fetchAll-metode toepas om 'n eenvoudige data-array te kry. Om dit te doen, laat ons die parameters van die metode leeg:

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

Resultaat van kode-uitvoering:

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

Verkryging van een kolom

Laat ons net een kolom uit die tabel kry. Om dit te doen, gee aan die fetchAll-metode die parameter FETCH_COLUMN:

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

Resultaat van kode-uitvoering:

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

Verkryging van sleutel-waarde-paar

Laat ons data kry in die vorm van 'n sleutel-waarde-paar, waar die sleutel die id sal wees, en die waarde die gebruikersnaam. Om dit te doen, gee in die parameter van die fetchAll-metode die modus FETCH_KEY_PAIR:

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

Resultaat van kode-uitvoering:

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

Verkryging van rekords met unieke veld

Jy kan dit so maak dat die unieke veld (gewoonlik dit is id), die sleutel word vir elke subarray:

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

Resultaat van kode-uitvoering:

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

Praktiese take

Задание 1

Vertoon alle gebruikers uit die users-tabel, deur die in die les beskryfde metode te gebruik.

Задание 2

Vertoon een ry data uit die users-tabel.

Задание 3

Vertoon die naam en ouderdom van gebruikers in die vorm van 'n sleutel-waarde-paar.