PDO natijasidagi barcha qatorlar PHPda

So'rov natijasidagi barcha qatorlarning massivini darhol olish mumkin. Buning uchun fetchAll metodi ishlatiladi. Keling, ushbu metodning turli ishlash rejimlarini ko'rib chiqaylik. Barcha misollar test jadvali uchun bo'ladi.

Oddiy massivni olish

Keling, oddiy ma'lumotlar massivini olish uchun fetchAll metodini qo'llaymiz. Buning uchun metod parametrlarini bo'sh qoldiramiz:

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

Kodni bajarish natijasi:

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

Bitta ustunni olish

Keling, jadvaldan faqat bitta ustunni olamiz. Buning uchun fetchAll metodiga FETCH_COLUMN parametrini o'tkazamiz:

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

Kodni bajarish natijasi:

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

Kal-qiymat juftligini olish

Keling, ma'lumotlarni kal-qiymat juftligi ko'rinishida olamiz, bunda kalit sifatida id, qiymat sifatida esa foydalanuvchi nomi bo'ladi. Buning uchun fetchAll metodining parametriga FETCH_KEY_PAIR rejimini o'tkazamiz:

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

Kodni bajarish natijasi:

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

Noyib maydonga ega yozuvlarni olish

Noyib maydon (odatda id), har bir pastki massiv uchun kalit bo'lishi mumkin:

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

Kodni bajarish natijasi:

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

Amaliy vazifalar

Задание 1

users jadvalidagi barcha foydalanuvchilarni darsda tavsiflangan metod yordamida ekranga chiqaring.

Задание 2

users jadvalidan bitta qator ma'lumotlarini ekranga chiqaring.

Задание 3

Foydalanuvchilarning ismi va yoshini kal-qiymat juftligi ko'rinishida ekranga chiqaring.