PHP में SQL क्वेरी का परिणाम प्राप्त करना

पिछले पाठ में हमने टेस्ट कोड बनाया था। मैं इसके महत्वपूर्ण हिस्से को याद दिलाता हूं, जो डेटाबेस को क्वेरी निष्पादित करता है:

php<?php
  $query = 'SELECT * FROM users';
  $res = mysqli_query($link, $query) or die(mysqli_error($link));
  var_dump($res);
?>

जैसा कि आप देख रहे हैं, डेटाबेस को क्वेरी करने के बाद, वेरिएबल $res में उस क्रिया का परिणाम होगा। हालाँकि, यह हमें PHP में आवश्यक रूप में नहीं मिलता है, बल्कि उस रूप में मिलता है जिसमें डेटाबेस ने हमें भेजा है।

परिणाम को हमारे लिए परिचित रूप में प्राप्त करने के लिए, फ़ंक्शन mysqli_fetch_assoc का उपयोग करना आवश्यक है, जो परिणाम से एक पंक्ति निकालती है।

आइए कोशिश करते हैं:

php<?php
  $row = mysqli_fetch_assoc($res);
  var_dump($row);
?>

परिणामस्वरूप var_dump पहले कर्मचारी के साथ एक ऐरे प्रिंट करेगा:

php<?php
  ['id' => 1, 'name' => 'user1', 'age' => 23, 'salary' => 400]
?>

इसके साथ ही, वेरिएबल $res से पहला कर्मचारी गायब हो जाएगा, और mysqli_fetch_assoc का अगला कॉल अगला कर्मचारी प्राप्त करेगा।

और इस तरह हम कर्मचारियों के खत्म होने तक हमारे फ़ंक्शन को कॉल कर सकते हैं। जैसे ही यह होगा, फ़ंक्शन का अगला कॉल false लौटाएगा।

आइए कोशिश करते हैं:

php<?php
  $row1 = mysqli_fetch_assoc($res);
  var_dump($row1); // कर्मचारी नंबर 1
  
  $row2 = mysqli_fetch_assoc($res);
  var_dump($row2); // कर्मचारी नंबर 2
  
  $row3 = mysqli_fetch_assoc($res);
  var_dump($row3); // कर्मचारी नंबर 3
  
  $row4 = mysqli_fetch_assoc($res);
  var_dump($row4); // कर्मचारी नंबर 4
  
  $row5 = mysqli_fetch_assoc($res);
  var_dump($row5); // कर्मचारी नंबर 5
  
  $row6 = mysqli_fetch_assoc($res);
  var_dump($row6); // कर्मचारी नंबर 6
  
  $row7 = mysqli_fetch_assoc($res);
  var_dump($row7); // NULL प्रिंट करेगा - कर्मचारी खत्म हो गए
?>