PDO में सभी पंक्तियों को प्राप्त करें PHP में

क्वेरी परिणाम से सभी पंक्तियों की एक सरणी तुरंत प्राप्त की जा सकती है। यह fetchAll विधि का उपयोग करके किया जाता है। आइए इस विधि के संचालन के विभिन्न तरीकों पर विचार करें। सभी उदाहरण टेस्ट टेबल के लिए होंगे।

साधारण सरणी प्राप्त करना

आइए डेटा की एक साधारण सरणी प्राप्त करने के लिए fetchAll विधि लागू करें। इसके लिए हम विधि के पैरामीटर को खाली छोड़ देंगे:

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

कोड निष्पादन का परिणाम:

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

एक कॉलम प्राप्त करना

आइए तालिका से केवल एक कॉलम प्राप्त करें। इसके लिए fetchAll विधि में FETCH_COLUMN पैरामीटर पास करें:

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

कोड निष्पादन का परिणाम:

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

कुंजी-मान जोड़ी प्राप्त करना

आइए डेटा को कुंजी-मान जोड़ी के रूप में प्राप्त करें, जहां कुंजी आईडी होगी, और मान उपयोगकर्ता का नाम होगा। इसके लिए fetchAll विधि के पैरामीटर में FETCH_KEY_PAIR मोड पास करें:

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

कोड निष्पादन का परिणाम:

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

अद्वितीय फ़ील्ड के साथ रिकॉर्ड प्राप्त करना

यह किया जा सकता है कि अद्वितीय फ़ील्ड (आमतौर पर यह id है), प्रत्येक उपसरणी के लिए कुंजी बन जाए:

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

कोड निष्पादन का परिणाम:

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

व्यावहारिक कार्य

Задание 1

users तालिका से सभी उपयोगकर्ताओं को प्रदर्शित करें, इस पाठ में वर्णित विधि का उपयोग करके।

Задание 2

users तालिका से डेटा की एक पंक्ति प्रदर्शित करें।

Задание 3

उपयोगकर्ताओं के नाम और आयु को कुंजी-मान जोड़ी के रूप में प्रदर्शित करें।