PHP တွင် MySQLI extension သည် MySQL databases အတွက်အထောက်အပံ့ပေးသည်။ MySQL တွင် မေးမြန်းချက်များကိုအကောင်အထည်ဖော်ရန်, ရလဒ်များကိုရယူခြင်းနှင့်အချက်အလက်အပြောင်းအလဲများကိုလုပ်ဆောင်ခြင်းအတွက်လုပ်ဆောင်ချက်များစွာရှိသည်။ MySQLI_STMT :: get_result () နှင့်သဟဇာတဖြစ်စေသည့် MySQLI :: Get_charset ကို မည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည်။ ဒေတာဘေ့စ်ရလဒ်များကိုပြုပြင်သည့်အခါသင်၌အက္ခရာများ encoding မရှိသေးပါ။
MySQLI :: Get_charet ဆိုသည်မှာ MySQL ဆက်သွယ်မှုမှအသုံးပြုသောဇာတ်ကောင်သတ်မှတ်ချက်အချက်အလက်များကိုပြန်ပို့ပေးသော MySQLI အတန်းအစား၏နည်းလမ်းဖြစ်သည်။ အထူးသဖြင့်ဘာသာစကားမျိုးစုံပါ 0 င်သည့်အခါဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့် application တို့အကြားတူညီသောဇာတ်ကောင် encoding ကိုအသုံးပြုသည်ကိုသေချာစေရန်လိုအပ်သည်။ သင်၏ဇာတ်ကောင်၏အမည်နှင့်လက်ရှိချိတ်ဆက်ထားသောဇာတ်ကောင်များနှင့်ပတ်သက်သောသက်ဆိုင်ရာအချက်အလက်များ၏အမည်နှင့်သက်ဆိုင်ရာသတင်းအချက်အလက်များကိုရရှိရန် MySQLI :: Get_charset ကို သုံးနိုင်သည်။
$mysqli = new mysqli("localhost", "user", "password", "database");
// လက်ရှိဇာတ်ကောင်အစုံရယူပါ
$charset = $mysqli->get_charset();
echo "လက်ရှိဇာတ်ကောင်အစုံ: " . $charset->character_set_name;
MySQLI_STMT :: get_result သည် MySQLI_STMT အတန်း၏နည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည်ရလဒ်ရှာဖွေမှုကိုရရှိရန်အသုံးပြုသော MySQLI_STMT အတန်းတစ်ခုဖြစ်သည်။ Preprocessing ထုတ်ပြန်ချက်များကို အသုံးပြု. သင်မေးမြန်းသည့်အခါဤနည်းလမ်းသည်အလွန်အသုံးဝင်သည်။ ၎င်းသည်ဒေတာများကိုကျော်လွှားရန်နှင့်ထုတ်ယူရန်သင်အသုံးပြုနိုင်သည့်စုံစမ်းမှုရလဒ်များပါ 0 င်သော mysqli_result အရာဝတ်ထုတစ်ခုကိုပြန်လည်ရောက်ရှိစေသည်။
$stmt = $mysqli->prepare("SELECT name, email FROM users WHERE id = ?");
$stmt->bind_param("i", $user_id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo $row['name'] . " - " . $row['email'];
}
MySQL database မှထုတ်ယူသောအချက်အလက်များကိုမှန်ကန်စွာပြသသည့်အချက်အလက်များကိုမှန်ကန်စွာပြသနိုင်ရန်အတွက်အက္ခရာစဉ်လိုက်လျောညီထွေဖြစ်ခြင်းသည်အရေးကြီးသောအချက်ဖြစ်သည်။ ဒေတာဘေ့စ်ရှိအချက်အလက်များကို UTF-8 သို့မဟုတ်အခြားဇာတ်ကောင်အစုံများတွင်သိမ်းဆည်းထားလေ့ရှိပြီးသင်၏လျှောက်လွှာတွင်အချက်အလက်များကိုလုပ်ဆောင်သည့်အခါဇာတ်ကောင် encoding တွင်ရှေ့တန်းစာဖြင့်ပြုလုပ်ရန်လိုအပ်သည်။ ဆက်သွယ်ရေးဇာတ်ကောင်သည်စုံစမ်းမှုရလဒ်ကို encoding နှင့်ကိုက်ညီမှုမရှိပါက၎င်းသည်အမှိုက်များသို့မဟုတ်မမှန်ကန်သော display ကိုဖြစ်ပေါ်စေနိုင်သည်။
MySQLI :: Get_charet မှ Reget_charet သည် MySQLI_STMT :: Get_result () ရလဒ်အစု၏ encoding နှင့်သဟဇာတဖြစ်အောင်ပြုလုပ်ရန် MySQLI_SUTET () ရလဒ်များနှင့်သဟဇာတဖြစ်သည်။ အကယ်. ဇာတ်ကောင်သတ်မှတ်ချက်မကိုက်ညီပါက, ဒေတာဘေ့စ်မှအချက်အလက်များကိုမှန်ကန်စွာပြသခြင်းမှအချက်အလက်များကိုကာကွယ်ခြင်းမှကာကွယ်ရန် encoding ပြ problems နာများကိုသင်ကြုံတွေ့ရနိုင်သည်။
အောက်ဖော်ပြပါအဆင့်များကိုလိုက်နာခြင်းဖြင့် encoding catatibility ကိုစစ်ဆေးနိုင်သည် -
လက်ရှိဆက်သွယ်မှု၏ဇာတ်ကောင်အစုံကိုရယူပါ။ လက်ရှိ MySQL ဆက်သွယ်မှုကိုရရန် MySQLI :: Get_charset ကို သုံးပါ။
ရလဒ်အနေဖြင့် query query frother query quertion quert quert_stmm :: get_result ကို အသုံးပြုပါ။
နှိုင်းယှဉ်ခြင်း - ဇာတ်ကောင် sets များကိုနှိုင်းယှဉ်ခြင်းဆိုင်ရာအမည်များကိုနှိုင်းယှဉ်နှိုင်းယှဉ်ခြင်း, ဇာတ်ကောင်အစုံများကိုနှိုင်းယှဉ်ခြင်းဆိုင်ရာအမည်များကိုနှိုင်းယှဉ်ကြည့်ပါ။
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$charset = $mysqli->get_charset();
$connection_charset = $charset->character_set_name;
// စုံစမ်းမှုကိုပြင်ဆင်ပါ
$stmt = $mysqli->prepare("SELECT name, email FROM users WHERE id = ?");
$stmt->bind_param("i", $user_id);
$stmt->execute();
$result = $stmt->get_result();
// Query ရလဒ်များ၏ဇာတ်ကောင်အစုံရယူပါ
$result_charset = $result->fetch_assoc();
// နှစ်ခုဇာတ်ကောင်အစုံနှိုင်းယှဉ်
if ($connection_charset === $result_charset) {
echo "ဇာတ်ကောင် setatibility သတ်မှတ်ပါ,ဒေတာကိုပုံမှန်လုပ်ဆောင်နိုင်ပါသည်。";
} else {
echo "သဟဇာတမသတ်မှတ်,barbled code ကိုဖြစ်ပေါ်စေနိုင်သည်。";
}
ဆက်သွယ်မှုဇာတ်ကောင်သည်ဆက်သွယ်မှုဇာတ်ကောင်သည်စုံစမ်းမှုရလဒ်အစုအဝေးနှင့်မကိုက်ညီကြောင်းသင်တွေ့ရှိပါက၎င်းကိုအောက်ပါနည်းလမ်းများဖြင့်ဖြေရှင်းနိုင်သည်။
ဆက်သွယ်ရေးဇာတ်ကောင်ကိုပြောင်းပါ။ ဆက်သွယ်မှုတစ်ခုတည်ဆောက်ရာတွင်, UTF-8 ကို အသုံးပြု. ဥပမာအားဖြင့်မှန်ကန်သောဇာတ်ကောင်အစုံကိုသတ်မှတ်ပါ။
$mysqli->set_charset("utf8");
MySQL configuration ကိုပြုပြင်ရန် - MySQL server နှင့် database မှအသုံးပြုသောစာလုံးသည်သင်၏လျှောက်လွှာတင်သောဇာတ်ကောင်ကိုသေချာစေရန် (UTF-8) ။
Quality () function ကိုသုံးပါ။ အကယ်. ဒေတာဘေ့စ်ဇာတ်ကောင်သတ်မှတ်ချက်ကိုမပြုပြင်နိုင်ပါကရလဒ်အစုကိုပြောင်းလဲရန်အတွက် query set ကိုပြောင်းလဲရန်ပြောင်းလဲခြင်းအတွက် ပြောင်းလဲခြင်း ကိုသုံးနိုင်သည်။
SELECT CONVERT(name USING utf8), CONVERT(email USING utf8) FROM users WHERE id = ?
MySQLI_STMMT :: Get_result () နှင့်သဟဇာတဖြစ်သော MySqli :: Get_charet မှတဆင့်သဟဇာတဖြစ်သော MySqli :: get_charet များနှင့် application နှင့် application တို့အကြားအချက်အလက်များကိုမှန်ကန်စွာဖော်ပြရန်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ မှန်ကန်သောဇာတ်ကောင် settings နှင့် character များနှင့်နှိုင်းယှဉ်မှုများသတ်မှတ်ပါကသင်သည်ဘုံ encoding ပြ problems နာများကိုရှောင်ရှားနိုင်ပြီးအချက်အလက်များ၏ပုံမှန် display ကိုသေချာစွာဖော်ပြနိုင်သည်။