PHP applications များကိုတီထွင်သောအခါကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်လေ့ရှိသည်။ MySQLI extension ကိုအသုံးပြုသော MySQLI :: MySQLI :: MySQLI :: MySQLI :: $ အမှားသည် database အမှားအယွင်းများကိုဖမ်းယူရန်အတွက်အလွန်များသောအားဖြင့်အရေးကြီးသည်။ သို့သော် developer များစွာသည် MySQLI :: err ည့်ခန်း ၏ရည်ရွယ်ချက်ကိုနားလည်မှုလွဲစေနိုင်သည်။ ဒီနားလည်မှုလွဲခြင်းဟာအထူးသဖြင့်အမှားအယွင်းများပေါ်ပေါက်လာတဲ့အခါမှာဒီနားလည်မှုလွဲခြင်းကရှုပ်ထွေးစေတယ်။ ဤဆောင်းပါးသည်သာမန်လူများနားလည်မှုလွဲမှားခြင်းများကိုရှောင်ရှားရန် MySQLI :: $ errno ကို မှန်ကန်စွာအသုံးပြုရမည်ကိုအသေးစိတ်လေ့လာလိမ့်မည်။
MySQLI :: $ errno သည် MySQLI အရာဝတ်ထုတစ်ခု၏ပိုင်ဆိုင်မှုတစ်ခုဖြစ်ပြီးယခင် MySQL စစ်ဆင်ရေး၏အမှားကုဒ်ကိုသိမ်းဆည်းရန်အသုံးပြုသည်။ အကယ်. ယခင်စစ်ဆင်ရေးကိုအောင်မြင်စွာကွပ်မျက်ခံရပါက MySQLI :: $ errno ၏တန်ဖိုးသည် 0 ဖြစ်လိမ့်မည်။
MySQLI :: errno သည် ဒေတာဘေ့စ်ဆက်သွယ်မှုအမှားများအတွက်သင့်တော်ရုံသာမက MySQLI မှတဆင့်ဖျော်ဖြေတင်ဆက်ထားသော SQL query operations အားလုံးအတွက်လည်းသင့်တော်ကြောင်းသတိပြုသင့်သည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
// တစ် ဦး စုံစမ်းမှု execute
$query = "SELECT * FROM non_existing_table";
$result = $mysqli->query($query);
// စုံစမ်းမှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if (!$result) {
echo "အမှားအမှား: " . $mysqli->error;
echo "အမှားကုဒ်: " . $mysqli->errno; // အမှားကုဒ်ကိုရယူပါ
}
$mysqli->close();
?>
ဤကုဒ်တွင် MySQLI :: $ errno သည် အမှားအယွင်းများအတွက်အမှားကုဒ်ကို (တည်ရှိပါက) အမှားအယွင်းများ ကိုပြန်ပို့လိမ့်မည်။
MySQLI :: $ errno သည် ဒေတာဘေ့စ်ဆက်သွယ်မှုများ၌အမှားအယွင်းများကိုသာစစ်ဆေးရန်အသုံးပြုသည်ဟုမှားယွင်းစွာယုံကြည်သော developer များစွာရှိသည်။ MySQLI :: errno :: errno ကို နားလည်မှုလွဲမှားရင်, အခြားပြ issues နာများကိုဖြေရှင်းသည့်အခါ၎င်းသည်ပျောက်ဆုံးနေသောအရေးကြီးသောအမှားအချက်အလက်များကိုပျောက်ဆုံးနေနိုင်သည်။ တကယ်တော့ MySQLI :: errno: errno: erifico အမှားများ, အမှားအယွင်းများကို update လုပ်ခြင်း,
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
// မှားယွင်းတဲ့ယူဆချက်:只ဆက်သွယ်မှုကိုစစ်ဆေးပါအမှား
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
// မှားလမ်း:အခြားစစ်ဆေးမထားပါနဲ့ SQL အမှား
$query = "SELECT * FROM non_existing_table";
$mysqli->query($query);
// 此处没有စုံစမ်းမှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ,可能错过了အမှားအမှား
$mysqli->close();
?>
အထက်ပါကုဒ်တွင် developer သည် connection အမှားများကိုဂရုပြုရန်လိုသည်ကိုမှားယွင်းစွာယုံကြည်လိမ့်မည်။ ထိုသို့ပြုလုပ်ခြင်းသည်ဒေတာဘေ့စ်ရှိအခြားပြ problems နာများကိုရှာဖွေခြင်းကိုပြုလုပ်သောအခါမဖမ်းနိုင်တော့ပါ။
အထက်ပါနားလည်မှုလွဲခြင်းကိုရှောင်ရှားနိုင်ရန်အတွက် MySQLI :: :: error :: errno ကို စစ်ဆေးပြီးနောက်တွင်၎င်းသည်ဆက်သွယ်မှုလည်ပတ်မှု, မေးမြန်းခြင်း, မွမ်းမံခြင်း, ဖျက်ခြင်းနှင့်အခြားဒေတာဘေ့စ်စစ်ဆင်ရေးများပြုလုပ်သည်။ ဤနည်းဖြင့်သာအလားအလာရှိသောဒေတာဘေ့စ်ပြ problems နာများကိုအစောပိုင်းကရှာဖွေတွေ့ရှိနိုင်သည်။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါအမှား
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
// တစ် ဦး စုံစမ်းမှု execute
$query = "SELECT * FROM non_existing_table";
$result = $mysqli->query($query);
// စုံစမ်းမှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if (!$result) {
echo "အမှားအမှား: " . $mysqli->error;
echo "အမှားကုဒ်: " . $mysqli->errno; // 获取အမှားအမှား码
}
$mysqli->close();
?>
အထက်ပါကုဒ်များတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုအမှားများကိုစစ်ဆေးရုံသာမကစုံစမ်းမှုအပြီးဖြစ်နိုင်သောစုံစမ်းမှုအမှားများကိုစစ်ဆေးပါ။ ဤသို့ပြုလုပ်ခြင်းသည် link တိုင်း၌ပြ problems နာများကိုဖမ်းယူနိုင်ရန်,
MySQLI :: $ errno မှပြန်လာသောအမှားကုဒ်ကိုနားလည်နိုင်ရန်အတွက် MySQL အမှားကုဒ်စာရွက်စာတမ်းကိုကျွန်ုပ်တို့တိုင်ပင်ဆွေးနွေးနိုင်သည်။ ဤနေရာတွင်အချို့သော common code များကိုဥပမာအချို့ရှိသည်။
1045- "အသုံးပြုသူအတွက် access ကိုငြင်းပယ်ခြင်း" - အသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်အမှား
1146- "ဇယားမရှိပါ" - စားပွဲပေါ်မှာမတည်ရှိပါဘူး
1064- "သင်၏ SQL syntax တွင်အမှားတစ်ခုရှိသည်" - SQL syntax အမှား
ဤအမှားကုဒ်များကိုနားလည်ခြင်းသည်အမှားသတင်းအချက်အလက်များကိုပိုမိုအဓိပ္ပာယ်ဖွင့်ပြီးပြ problems နာများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိရန်ကူညီလိမ့်မည်။
MySQLI :: MySQLI :: $ error သည်အမှားအယွင်းအမှားတစ်ခုပြန်ပို့နေစဉ် MySQLi: $ errno ကိုအဓိကအားဖြင့်အသုံးပြုသည်။ ပြ problems နာများကိုအမှန်တကယ်ဖြေရှင်းသည့်အခါဒေတာဘေ့စ်လည်ပတ်မှုပျက်ကွက်မှုအတွက်အကြောင်းပြချက်များကိုအပြည့်အဝနားလည်ရန်ဤ attribute နှစ်ခုကိုပေါင်းစပ်ရန်လိုအပ်သည်။
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
$query = "SELECT * FROM non_existing_table";
$result = $mysqli->query($query);
if (!$result) {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error . "<br>";
echo "အမှားကုဒ်: " . $mysqli->errno;
}
$mysqli->close();
?>
အမှားအယွင်းများနှင့်အမှားကုဒ်များကိုတစ်ချိန်တည်းတွင်ထုတ်ယူခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ပြ problem နာ၏အမြစ်အကြောင်းအရင်းကိုပိုမိုရှင်းလင်းစွာနားလည်နိုင်ပြီး၎င်းကိုဖြေရှင်းရန်သက်ဆိုင်ရာအစီအမံများကိုပြုလုပ်နိုင်သည်။
MySQLI :: $ errno သည် PHP တွင်အလွန်အရေးကြီးသောပစ္စည်းတစ်ခုဖြစ်သည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုအမှားများကိုစစ်ဆေးရန်၎င်းကိုသာအသုံးပြုသည်။ သို့သော် MySQL စစ်ဆင်ရေးအားလုံးတွင်ပိုမိုကျယ်ပြန့်စွာအသုံးပြုသည်။ နားလည်မှုလွဲမှားခြင်းများကြောင့်ဖြစ်ပေါ်လာသောပြ troubl နာဖြေရှင်းမှုများကိုရှောင်ရှားနိုင်ရန်အတွက် MySQLI :: $ errno ကို စစ်ဆေးသင့်သည်။ MySQLI :: errno :: $ errno ကိုမှန်ကန်သောနားလည်မှုနှင့်အသုံးပြုခြင်းကိုအသုံးပြုခြင်းကကျွန်ုပ်တို့အားဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းပြ problems နာများကိုပိုမိုထိရောက်စွာဖြေရှင်းနိုင်ရန်နှင့် bug များ၏ဖြစ်ပျက်မှုများကိုလျှော့ချရန်ခွင့်ပြုနိုင်သည်။