MySQL databases များကို PHP တွင် operating လုပ်သည့်အခါ MySQLI extension သည် MySQLI_RESULD :: MySqlult :: MySqli_fetch_assoc သည်အချက်အလက်များကိုဖတ်ရန်နည်းလမ်းများကိုအသုံးချသည့်နည်းလမ်းများရရှိရန် MySQLI extension ကိုရရှိရန်နည်းလမ်းအမျိုးမျိုးကိုပေးသည်။ သို့သော်များစွာသော developer များစွာသည်ဤနှစ်ခုကိုအတူတကွအသုံးပြုနိုင်သည်ကိုစဉ်းစားနေသည်။ သူတို့ကပိုပြီးပြောင်းလွယ်ပြင်လွယ်အခန်းကဏ် play မှပါဝင်ဖို့ပေါင်းစပ်နိုင်သလား? ဤဆောင်းပါးသည်၎င်းတို့၏ကွဲပြားခြားနားမှုများနှင့်ပေါင်းစပ်အသုံးပြုမှုကိုဥပမာများဖြင့်အသေးစိတ်ဖော်ပြထားသည်။
mysqli_result :: fetch_column
ဤနည်းလမ်းကိုရလဒ်အနေဖြင့်သတ်မှတ်ထားသောကော်လံတစ်ခု၏တန်ဖိုးတစ်ခု၏တန်ဖိုးတစ်ခုတည်းကိုရရှိရန်အသုံးပြုသည်။ ၎င်းကိုကော်လံတစ်ခု၏တန်ဖိုးကိုသာလိုအပ်သည့်အခါမှတ်ဉာဏ်နှင့်ကုဒ်ရှုပ်ထွေးမှုကိုသိမ်းဆည်းရန်အသုံးပြုသည်။
MySQLI_FETCE_assoc
ဤလုပ်ဆောင်ချက်သည်ရလဒ်အနေဖြင့်ရလဒ်အနေဖြင့်အချက်အလက်များကိုပြန်လည်ရောက်ရှိစေပြီး Associative Array ပုံစံဖြင့်တင်ပြသည်။ ခင်းကျင်းရေး၏အဓိကအမည်မှာဒေတာကော်လံများစွာရရှိရန်အဆင်ပြေသောလယ်ကွင်းအမည်ဖြစ်သည်။
ရိုးရိုးလေးပြောရလျှင် Fetch_colum သည် ဒေ တာတစ်ခုတည်းကိုရရှိသည်။
နည်းပညာအချက်တစ်ချက်မှ MySQLI_RESELT :: MySQLI_RESELT ၏ နည်းလမ်းဖြစ်သည်။ MySQLI_RESELT လူတန်းစားအဆင့်၏နည်းလမ်းဖြစ်သည်။
အကယ်. သင်သည်အရာဝတ်ထု -oriented စတိုင်ကိုအသုံးပြုနေပါက -
$ ရလဒ် -> Fetch_assoc () နှင့် $ ရလဒ် -> fetch_colum () > fetch_colum ကိုသုံးသင့်သည်။
အကယ်. သင်သည်လုပ်ငန်းစဉ်ကို ဦး စားပေးပုံစံကိုသုံးနေလျှင် -
MySQLI_FETCE_AST_AST_ASSOC ($ ရလဒ်) ကို အသုံးပြုသင့်ပြီးလုပ်ထုံးလုပ်နည်းဆိုင်ရာစတိုင်တွင် fetch_column သက်ဆိုင်ရာလုပ်ဆောင်ချက်မရှိပါ။
ထို့ကြောင့် ၎င်းတို့ကိုတူညီသောရလဒ်အနေဖြင့်အခြားနည်းလမ်းပေါ်တွင်တိုက်ရိုက်မခေါ်နိုင်ပါ ။
ကျွန်ုပ်တို့သည်အသုံးပြုသူဇယားအသုံးပြုသူကိုဒေတာဘေ့စ်ရှိသုံးစွဲသူဇယား အသုံးပြုသူကို Fields ID , အမည် နှင့် အီးမေးလ် ဖြင့်ရှာဖွေပြီးဒေတာရရှိရန်နည်းလမ်းနှစ်ခုကိုသရုပ်ပြပါ။
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$sql = "SELECT id, name, email FROM users";
$result = $mysqli->query($sql);
if ($result) {
// အသုံးပြုfetch_assocဒေတာတစ်ခုချင်းစီကိုအတန်းရယူပါ
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row['id'] . ",နံမယ်: " . $row['name'] . ",စာပို့: " . $row['email'] . "<br>";
}
$result->free();
}
// နောက်တဖန်စုံစမ်းမှု execute
$result2 = $mysqli->query($sql);
if ($result2) {
// အသုံးပြုfetch_columnပထမကော်လံကိုရယူပါ(id)
while (($id = $result2->fetch_column(0)) !== null) {
echo "အသုံးပြုသူID: " . $id . "<br>";
}
$result2->free();
}
$mysqli->close();
?>
အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည် Fetch_assoc နှင့် Fetch_column အသီးသီးကိုသုံးရန်မေးမြန်းချက်နှစ်ခုပြုလုပ်ခဲ့သည်။ ၎င်းသည်ရလဒ်အနေဖြင့်ရှုပ်ထွေးမှုများကိုရှုပ်ထွေးစေသောပြ problem နာကိုရှောင်ရှားသည်။
FETC_AsSOC ကိုအရင်ရရန် FETT_ASSOC ကို အသုံးပြုလိုပါကကော်လံတစ်ခုရရန် fetch_column ကို သုံးပါ။
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
$sql = "SELECT id, name, email FROM users";
$result = $mysqli->query($sql);
$rows = [];
if ($result) {
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
$result->free();
}
// cache မှဒေတာကော်လံကိုရယူပါ
$userIds = array_column($rows, 'id');
foreach ($userIds as $id) {
echo "အသုံးပြုသူID: $id<br>";
}
$mysqli->close();
?>
၎င်းသည်မိတ္တူပွားများနှင့် cursor ပြ problems နာများကိုရှောင်ရှားခြင်းသည်ထိရောက်သောနှင့်အဆင်ပြေမှုနှစ်မျိုးလုံးဖြစ်သည်။
mysqli_result :: fetch_column နှင့် mysqli_fetch_assoc ကွဲပြားခြားနားသောစစ်ဆင်ရေးစတိုင်များနှင့်သက်ဆိုင်ပြီးတိုက်ရိုက်မသုံးနိုင်ပါ။
သင်နှစ် ဦး စလုံးကိုသုံးလိုပါက Query ကိုသီးခြားစီခွဲထားရန်သို့မဟုတ် 4 င်းတို့အားလုံးကိုရယူရန် Fetch_assoc ကို သုံးရန်အကြံပြုသည်။
၎င်းကိုပေါင်းစပ်ပြီးအသုံးပြုသောအခါရလဒ်ကိုဂရုပြုပါဒေတာစာဖတ်ခြင်းတွင်ရှုပ်ထွေးမှုများကိုရှုပ်ထွေးစေရန် cursor status ကိုသတ်မှတ်ပါ။
ဒီနည်းလမ်းနှစ်ခုကိုကျိုးကြောင်းဆီလျော်စွာပေါင်းစပ်လိုက်ခြင်းဖြင့်ဒေတာဘေ့စ်ဒေတာများကိုပြုပြင်သောအခါသင့်ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်မှုရှိစေနိုင်သည်။