PHP တွင် SQL Query ၏ ရလဒ်ရယူခြင်း

ယခင်သင်ခန်းစာတွင် ကျွန်ုပ်တို့သည် စမ်းသပ် code ကို ရေးခဲ့ပါသည်။ ဒေတာဘေ့စ်ကို query လုပ်သည့် ၎င်း၏ အဓိကအပိုင်းကို ပြန်လည်အမှတ်ရစေလိုပါသည်။

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

မြင်တွေ့ရသည့်အတိုင်း၊ ဒေတာဘေ့စ်သို့ query ပြုလုပ်ပြီးသည့်နောက်၊ ကိန်ရှင် $res အတွင်းတွင် ဤလုပ်ဆောင်ချက်၏ ရလဒ်သည် တည်ရှိနေမည်။ သို့သော် PHP တွင် လိုအပ်သော ပုံစံဖြင့် မဟုတ်ဘဲ၊ ဒေတာဘေ့စ်မှ ကျွန်ုပ်တို့ထံ ပို့ပေးသည့် ပုံစံဖြင့် တည်ရှိနေသည်။

ကျွန်ုပ်တို့ အကျွမ်းတဝင်ရှိသော ပုံစံဖြင့် ရလဒ်ရရှိရန်၊ လုပ်ဆောင်ချက် mysqli_fetch_assoc ကို အသုံးပြုရန် လိုအပ်သည်။ ထိုလုပ်ဆောင်ချက်သည် ရလဒ်မှ တန်ဖိုးတစ်ခုကို ထုတ်ယူပေးသည်။

စမ်းကြည့်ကြပါစို့။

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

ရလဒ်အနေဖြင့် var_dump သည် ပထမဆုံး အလုပ်သမားနှင့်အတူ array တစ်ခုကို ပြသပေးမည်။

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

ဤသို့ဖြင့် ပထမဆုံး အလုပ်သမားသည် ကိန်ရှင် $res မှ ပျောက်ကွယ်သွားမည်ဖြစ်ပြီး၊ နောက်ထပ် mysqli_fetch_assoc ခေါ်ဆိုမှုသည် နောက်အလုပ်သမားကို ရရှိမည်ဖြစ်သည်။

ကျွန်ုပ်တို့၏ function ကို အလုပ်သမားများ ကုန်ဆုံးသည်အထိ ဆက်လက်ခေါ်ယူနိုင်သည်။ ထိုသို့ဖြစ်သည်နှင့် တပြိုင်နက်၊ နောက်ထပ် function ခေါ်ဆိုမှုသည် false ကို ပြန်ပေးမည်ဖြစ်သည်။

စမ်းကြည့်ကြပါစို့။

php<?php
  $row1 = mysqli_fetch_assoc($res);
  var_dump($row1); // အလုပ်သမားနံပါတ် ၁
  
  $row2 = mysqli_fetch_assoc($res);
  var_dump($row2); // အလုပ်သမားနံပါတ် ၂
  
  $row3 = mysqli_fetch_assoc($res);
  var_dump($row3); // အလုပ်သမားနံပါတ် ၃
  
  $row4 = mysqli_fetch_assoc($res);
  var_dump($row4); // အလုပ်သမားနံပါတ် ၄
  
  $row5 = mysqli_fetch_assoc($res);
  var_dump($row5); // အလုပ်သမားနံပါတ် ၅
  
  $row6 = mysqli_fetch_assoc($res);
  var_dump($row6); // အလုပ်သမားနံပါတ် ၆
  
  $row7 = mysqli_fetch_assoc($res);
  var_dump($row7); // NULL ကို ပြသမည် - အလုပ်သမားများ ကုန်ဆုံးသွားပြီ
?>