PDO bilen PHP-de netijäniň ähli hatarlary

Sorag netijesinden ähli hatarlaryň sanawyny derrew alyp bolýar. Bu fetchAll metodi arkaly amala aşyrylýar. Bu metodiň dürli iş režimlerini gözden geçireli. Ähli mysallar test tablisasy üçin bolar.

Ýönekeý sanawy almak

Maglumatlary ýönekeý sanaw görnüşinde almak üçin fetchAll metodyny ulanalyň. Bunun üçin metod parametrlerini boş goýalyň:

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

Kodyň ýerine ýetiriliş netijesi:

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

Bir sütüni almak

Tablisadan diňe bir sütüni alalyň. Bunun üçin fetchAll metoduna FETCH_COLUMN parametrini geçirýäris:

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

Kodyň ýerine ýetiriliş netijesi:

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

Açaryň-gymmatlygyň jübütini almak

Maglumatlary açaryň-gymmatlygyň jübüti görnüşinde alalyň, bu ýerde açary ID bolup, gymmatlygy bolsa ulanyjynyň ady bolar. Bunun üçin fetchAll metodynyň parametrine FETCH_KEY_PAIR režimini geçirýäris:

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

Kodyň ýerine ýetiriliş netijesi:

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

Benzersiz meýdan bilen ýazgylary almak

Benzersiz meýdan (adetçe bu id), her kiçi sanawyň açary hökmünde edilip biler:

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

Kodyň ýerine ýetiriliş netijesi:

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

Amaly meseleler

Задание 1

users tablisasyndan ähli ulanyjylary görkeziň, sapakda beýan edilen metodi ulanmak arkaly.

Задание 2

users tablisasyndan bir hatar maglumaty görkeziň.

Задание 3

Ulanyjylaryň adyny we ýaşyny açar-gymmat jübüti görnüşinde görkeziň.