PDO ilə PHP-də Nəticədən Bütün Sətirləri Almaq

Sorğu nəticəsindən bütün sətirlərin massivini dərhal əldə etmək olar. Bu, fetchAll metodu ilə edilir. Gəlin bu metodun iş rejimlərini nəzərdən keçirək. Bütün nümunələr test cədvəli üçün olacaq.

Adi Massivin Alınması

Gəlin fetchAll metodundan adi məlumat massivi almaq üçün istifadə edək. Bunun üçün metodun parametrlərini boş buraxaq:

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

Kodun icrasının nəticəsi:

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

Tək Sütunun Alınması

Gəlin cədvəldən yalnız bir sütun əldə edək. Bunun üçün fetchAll metoduna FETCH_COLUMN parametrini ötürək:

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

Kodun icrasının nəticəsi:

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

Açar-Dəyər Cütlüyünün Alınması

Gəlin məlumatları açar-dəyər cütlüyü şəklində əldə edək, burada açar id, dəyər isə istifadəçinin adı olacaq. Bunun üçün fetchAll metodunun parametrinə FETCH_KEY_PAIR rejimini ötürək:

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

Kodun icrasının nəticəsi:

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

Unikal Sahəli Yazıların Alınması

Unikal sahənin (adətən bu id olur) hər bir altmassiv üçün açar olmasını təmin etmək olar:

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

Kodun icrasının nəticəsi:

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

Praktiki Tapşırıqlar

Задание 1

users cədvəlindən bütün istifadəçiləri dərsdə təsvir olunan metoddan istifadə edərək çap edin.

Задание 2

users cədvəlindən bir sıra məlumat çap edin.

Задание 3

İstifadəçilərin ad və yaşını açar-dəyər cütlüyü şəklində çap edin.