PHP Development တွင် MySQLI :: MySQLI :: MySQLI :: MySQLI :: $ errorqli :: $ errorqli :: MySQLI ကိုအသုံးပြုသည့်အခါ MySQLI စစ်ဆင်ရေးအတွက်အရေးပါသောအခန်းကဏ် play မှပါ 0 င်သည်။ MySQLI :: $ errno ကို လက်ရှိဆက်သွယ်မှုအတွက်အမှားကုဒ်ကိုရရန်အသုံးပြုသည် ။ Developer များသည်ဤပြ problem နာကိုမကြာခဏကြုံတွေ့ရလေ့ရှိသည် - ဒေတာဘေ့စ်ဆက်သွယ်မှုဖြစ်ရပ်များတွင် MySQLI :: $ errno မျှဝေသည်။ အကယ်. ၎င်းကိုမျှဝေပါကမတူညီသောဆက်သွယ်မှုများအကြားရှိအမှားအယွင်းများကိုကျွန်ုပ်တို့မည်သို့ရှောင်ရှားနိုင်မည်နည်း။ ဤဆောင်းပါးသည်ဤပြ problem နာကိုနက်နက်နဲနဲခွဲခြမ်းစိတ်ဖြာပြီးအမှားအယွင်းများညစ်ညမ်းမှုကိုရှောင်ရှားရန်အဖြေရှာလိမ့်မည်။
MySQLI :: $ errno သည် MySQLI အရာဝတ်ထု၏ဥပမာတစ်ခုဖြစ်ပြီးလက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့်သက်ဆိုင်သောအမှားကုဒ်များကိုပိုင်ဆိုင်ထားသည့် PROMSQLI OFF ၏ပိုင်ဆိုင်မှုဖြစ်သည်။ ပုံမှန်ဖြစ်ရပ်များတွင် MySQLI :: $ errno ၏အခန်းကဏ် errino သည်လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှုဥပမာတွင်အမှားအယွင်းကိုမှတ်တမ်းတင်ရန်ဖြစ်သည်။
MySQLI :: $ errno မျှဝေခြင်းမဟုတ်ပါ ။ ဆိုလိုသည်မှာ MySQLI ဆက်သွယ်မှုဥပမာတစ်ခုစီတွင်ကိုယ်ပိုင် errno ပြည်နယ်ရှိသည်။ လွတ်လပ်သောဒေတာဘေ့စ်ဆက်သွယ်မှုတစ်ခုစီသည်ကိုယ်ပိုင်အမှားကုဒ်များကိုဆက်လက်ထိန်းသိမ်းထားလိမ့်မည် ။
သို့သော် connection pasantments များစွာကို MySQLI Object မှတဆင့်ဖန်တီးပါက၎င်းတို့၏အမှားအယွင်းများသည်အချင်းချင်းအနှောင့်အယှက်ဖြစ်စေနိုင်သည်။ အထူးသဖြင့်သင်သည်ဒေတာဘေ့စ်ဆက်သွယ်မှုမျိုးစုံကို သုံး. MySQLI အရာဝတ်ထုတစ်ခုကိုဝေမျှသောအခါ,
ပြ problems နာများသည်အဓိကအားဖြင့်အောက်ပါအခြေအနေများတွင်ပေါ်ပေါက်သည်။
တူညီသော database connection ကိုမျှဝေခြင်း - အကယ်. စစ်ဆင်ရေးမျိုးစုံသည်တူညီသော database connection object ကိုမျှဝေပါကအမှားအယွင်း ( errno ) သည်နောက်ဆုံးစစ်ဆင်ရေး၏အမှားအယွင်းများကိုအစားထိုးလိမ့်မည်။
MySQLI ဥပမာအားဖြင့်တူညီသော MySQLI ဥပမာအားဖြင့် MySQLI ဥပမာအားဖြင့်တူညီသောနေရာများတွင်ထပ်ခါတလဲလဲ သုံး. အမှားအယွင်းများကိုမပြန်လည်မသတ်မှတ်ပါက၎င်းသည်အမှားအယွင်းများကိုရှုပ်ထွေးစေပြီးနောက်ဆက်တွဲစစ်ဆင်ရေးများကိုပင်ရှုပ်ထွေးစေနိုင်သည်။
ချိတ်ဆက်ထားသောသာဓကများအကြားအပြန်အလှန်ညစ်ညမ်းမှုကိုရှောင်ရှားရန်အောက်ပါနည်းလမ်းများကိုအသုံးပြုနိုင်သည်။
အလွယ်ကူဆုံးနည်းလမ်းမှာဒေတာဘေ့စ်ဆက်သွယ်မှုတစ်ခုစီသည်သီးခြား MySQLI ဥပမာအားဖြင့်သီးခြားစီအသုံးပြုသည်ကိုသေချာစေရန်ဖြစ်သည်။ ဤနည်းအားဖြင့်ဆက်သွယ်မှုတစ်ခုစီတွင်ကိုယ်ပိုင် err ည့်ခန်းနှင့် အမှားများ ရှိသည်။
// ပထမဆုံးဒေတာဘေ့စ် connection ကိုဖန်တီးပါ
$mysqli1 = new mysqli("localhost", "user1", "password1", "database1");
if ($mysqli1->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli1->connect_error;
}
// ဒုတိယဒေတာဘေ့စ်ဆက်သွယ်မှုကိုဖန်တီးပါ
$mysqli2 = new mysqli("localhost", "user2", "password2", "database2");
if ($mysqli2->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli2->connect_error;
}
MySQLI အတန်းသည် Reset_error Method ကိုထောက်ပံ့ပေးသည်, ၎င်းသည်ဆက်သွယ်မှု၏အမှားအယွင်းကိုကိုယ်တိုင်ပြန်လည်စတင်ရန်အသုံးပြုနိုင်သည်။ ဒေတာဘေ့စ်လည်ပတ်မှုတစ်ခုစီပြီးနောက်ဤနည်းလမ်းကို မှားယွင်းစွာ မသိရသေး ပါ။
// ဒေတာဘေ့စစစ်ဆင်ရေးလုပ်ဆောင်ပါ
$result = $mysqli->query("SELECT * FROM users");
if (!$result) {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}
// အမှားအယွင်းကိုပြန်လည်သတ်မှတ်ပါ
$mysqli->reset_error();
အကယ်. သင်၏လျှောက်လွှာသည်ဒေတာဘေ့စ်မျိုးစုံနှင့်အပြန်အလှန်ဆက်သွယ်ရန်လိုအပ်ပါကလွတ်လပ်သောဆက်သွယ်မှုသာဓကများကိုဖန်တီးရန်မတူညီသော connection configurations များကိုအသုံးပြုရန်စဉ်းစားပါ။ မတူညီသောအိမ်ရှင်အမည်များ, အသုံးပြုသူအမည်များ, စကားဝှက်များ, စသည်တို့ကို configuring လုပ်ခြင်းဖြင့် connection configurations များအောက်တွင်ဆက်သွယ်မှုတစ်ခုစီကိုအကောင်အထည်ဖော်ရန်သေချာစေနိုင်ပြီးတစ် ဦး နှင့်တစ် ဦး 0 င်ရောက်စွက်ဖက်ခြင်းမပြုနိုင်ပါ။
// အမှားများကိုဖမ်းရန်ခြွင်းချက်ကိုင်တွယ်မှုကိုသုံးပါ
try {
$mysqli->query("SELECT * FROM non_existing_table");
} catch (Exception $e) {
echo "数据库စုံစမ်းမှုမအောင်မြင်ပါ: " . $e->getMessage();
$mysqli->reset_error();
}