PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် MySQLI extension ကိုအသုံးပြုရန်အလွန်များသောအားဖြင့်ဖြစ်သည်။ MySQLi_Result :: Fetter_column function သည်စုံစမ်းမှုရလဒ်များမှတစ်ခုတည်းသောကော်လံအချက်အလက်များကိုထုတ်ယူရန်အတွက်ရိုးရှင်းသောနည်းလမ်းဖြစ်သည်, သို့သော်အမှန်တကယ်အသုံးပြုမှုတွင် developer များစွာသည်ဒေတာပုံတူပွားများပြ the နာကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ဤဖြစ်ရပ်အားဤဖြစ်ရပ်အားဤဖြစ်စဉ်ကိုတုန့်ပြန်ပြီးဤပြ problem နာကိုရှောင်ရှားရန်ထိရောက်သောဖြေရှင်းနည်းများနှင့်နမူနာကုဒ်များကိုဖြည့်ဆည်းပေးလိမ့်မည်။
ဒေတာဘေ့စ်မေးမြန်းချက်ထုတ်ပြန်ချက်များ၏မလျော်ကန်သောဒီဇိုင်း <br> အကြိမ်ပေါင်းများစွာ, မိတ္တူပွား၏ root root သည် SQL query ကိုယ်နှိုက်သည် SQL query ကိုယ်နှိုက်ဖြစ်သည် ။
ဒေတာထုတ်ယူခြင်းနည်းလမ်းအမှား <br> <br> Fetch_Column ကို အသုံးပြုသောအခါကွင်းဆက်တွင်ဒေတာကိုမဆင်ခြင်ဘဲမထင်မှတ်ပါကထပ်ခါတလဲလဲထုတ်လုပ်မှုကိုဖြစ်ပေါ်စေနိုင်သည်။
ဒေတာ cache သို့မဟုတ် loop ယုတ္တိဗေဒချို့ယွင်းချက် <br> <br> အကယ်. ဒေတာများကိုခင်းကျင်းတွင်သိမ်းဆည်းထားပြီးနောက်မှန်ကန်စွာမစားပါက Loop traversal ၏ယုတ္တိဗေဒဆိုင်ရာပြ a နာတစ်ခုဖြစ်လာပါက၎င်းသည်ပုံတူပွားခြင်းကိုဖြစ်ပေါ်စေလိမ့်မည်။
တိုက်ရိုက်နှင့်ထိရောက်သောနည်းလမ်းမှာ SQL ထုတ်ပြန်ချက်များတွင် DISTUCOPLINE ဖြစ်သည်။
$sql = "SELECT DISTINCT column_name FROM table_name WHERE conditions";
$result = $mysqli->query($sql);
ဤအချက်သည်အချက်အလက်များ၏အပိုင်းအစများသည်ပြန်လည်ရရှိလာသောရလဒ်တွင်ထူးခြားသည်။
Fetter_column သည် လက်ရှိအတန်းတွင်အချက်အလက်များ၏ကော်လံကိုသာထုတ်ယူသည်။ အကယ်. ၎င်းကို loop ဟုခေါ်ပါကအချက်အလက်များကိုအတန်းဖြင့်ရနိုင်သော်လည်းသင်အာရုံစိုက်ရန်လိုအပ်သည်။
မိတ္တူပွားများမိတ္တူပွားများမိတ္တူပွားထုတ်လုပ်မှုကိုသေချာအောင်လုပ်ပါ။
ရလဒ်ကိုစနစ်တကျအခမဲ့ရယူခြင်းသို့မဟုတ်ပြန်လည်အသုံးပြုခြင်းကိုရှောင်ပါ။
အကယ်. ဒေတာဘေ့စ်အလွှာသည်ထူးခြားမှုကိုမအောင်မြင်နိုင်ပါက PHP layer သည် array deveduplication ကိုသုံးနိုင်သည်။
$data = [];
while ($value = $result->fetch_column()) {
$data[] = $value;
}
$data = array_unique($data); // ထပ်တူတန်ဖိုးများကိုဖယ်ရှားပါ
ဒီနေရာမှာမိတ္တူပွားအချက်အလက်တွေကိုဘယ်လိုရှောင်ရှားရမယ်ဆိုတာပြသတဲ့အပြည့်စုံတဲ့ဥပမာတစ်ခုပါ။
<?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");
if ($mysqli->connect_errno) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// အသုံးပြုDISTINCTမိတ္တူပွားများကိုရှောင်ပါ
$sql = "SELECT DISTINCT user_email FROM users WHERE status = 'active'";
$result = $mysqli->query($sql);
if ($result) {
$emails = [];
while ($email = $result->fetch_column()) {
$emails[] = $email;
}
// နောက်တဖန်အလေးချိန်ကိုဖယ်ရှားရန်သေချာပါစေ(တားဆီးSQLအဆိုပါကြေညာချက်အလုပ်မလုပ်ပါဘူး)
$emails = array_unique($emails);
foreach ($emails as $email) {
echo $email . "<br>";
}
$result->free();
} else {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}
$mysqli->close();
?>
SQL ဒီဇိုင်းရေးဆွဲသည့်အခါ deperplication နှင့် ကွဲပြားခြင်း ကိုပိုမိုနှစ်သက်သည်။
FETT_CONGONCON သည် တစ်ခုတည်းသောကော်လံအချက်အလက်များကိုအတန်းဖြင့်ထုတ်ယူပြီးကျိုးကြောင်းဆီလျော်စွာခေါ်ဆိုသည်။
PHP သည် SARAY_UNRIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIKIQUIE ကိုအသုံးပြုသည်။
မရည်ရွယ်ဘဲထပ်ခါထပ်ခါထပ်တူတန်းများကိုရှောင်ရှားရန်ဆက်စပ်သောစုံစမ်းမှုနှင့်အချက်အလက်ဖွဲ့စည်းပုံကိုစစ်ဆေးပါ။
အထက်ပါနည်းစနစ်များမှတဆင့် mysqli_result :: fetch_column ကို အသုံးပြုသောအခါထပ်ဆင့်အချက်အလက်ပြ problem နာကိုအခြေခံအားဖြင့်ဖယ်ရှားပစ်နိုင်ပြီး code အားကြံ့ခိုင်ခြင်းနှင့်အချက်အလက်တိကျမှန်ကန်မှုကိုတိုးတက်စေနိုင်သည်။