MySQLI :: $ errno နှင့် language package ကို Completned Database အမှားသတိပေးချက်များကိုအကောင်အထည်ဖော်ရန်မည်သို့ပေါင်းစပ်မည်နည်း။
0 က်ဘ်အပလီကေးရှင်းများကိုတီထွင်သောအခါဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်ဖြေရှင်းခြင်းအမှားအယွင်းများသည်မရှိမဖြစ်လိုအပ်သည်။ အသုံးပြုသူအတွေ့အကြုံတိုးတက်စေရန်အတွက်ဒေသအသီးသီးတွင် အခြေခံ. ဖော်ရွေသောအမှားအယွင်းများကိုပြသရန်မကြာခဏလိုအပ်သည်။ MySQLI ၏ extension ကို MySQL Database နှင့်အပြန်အလှန်ဆက်သွယ်ရန် MySQLI extension ကိုထောက်ပံ့ပေးသည် ။
ဤဆောင်းပါးသည် MySQLI :: Rerrno နှင့် Language Package ကို Comportnization database error prompts ကိုအကောင်အထည်ဖော်ရန်မည်သို့ပြုလုပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
ပထမ ဦး စွာ PHP ၏ MySQLI Extension သည် MySQLI :: $ ersqli property ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည် MySQL အမှားအတွက်အမှားကုဒ်ကိုသိုလှောင်ထားသည်။ သက်ဆိုင်ရာဒေသဆိုင်ရာအမှားသတိပေးချက်များကိုကျွန်ုပ်တို့ရှာဖွေနိုင်ပါကကျွန်ုပ်တို့၏လျှောက်လွှာသည်ပိုမိုအသုံးဝင်သည်။ ဒေသဆိုင်ရာဒေသများအရသင့်လျော်သောအမှားအယွင်းများကိုပြန်ပို့နိုင်သည်။
၎င်းကိုအကောင်အထည်ဖော်သည့်အခါကျွန်ုပ်တို့သည်များသောအားဖြင့်အောက်ပါအဆင့်များလိုအပ်သည် -
ဒေတာဘေ့စ်အမှားများကိုရိုက်ကူးပြီးအမှားကုဒ် MySQLI :: $ errno ။
သက်ဆိုင်ရာဘာသာစကားအတွက်သတင်းအချက်အလက်များကိုဘာသာစကား pack မှတဆင့်အမှားအယွင်းများရယူပါ။
အသုံးပြုသူအား localization error message ကိုဖော်ပြပါ။
ပထမ ဦး စွာဘာသာစကားအထုပ်တစ်ခုဖန်တီးရန်လိုအပ်သည်။ ငါတို့မှာဘာသာစကားနှစ်မျိုးရှိတယ်ဆိုပါစို့။ နောက်ဆက်တွဲရှာဖွေမှုများနှင့်ကိုးကားချက်များကိုလွယ်ကူချောမွေ့စေရန်ဤအချက်အလက်များကို PHP Array တွင်သိမ်းဆည်းနိုင်သည်။
// en.php (အင်္ဂလိပ်စာအစီအစဉ်)
return [
'1045' => 'Access denied for user',
'1146' => 'Table doesn\'t exist',
'2002' => 'Connection refused',
// ပိုပြီးအမှားကုဒ်များနှင့်သက်ဆိုင်ရာအမှားအယွင်းများကိုထည့်သွင်းနိုင်ပါတယ်
];
// zh.php (တရုတ်ဘာသာစကားအထုပ်)
return [
'1045' => 'အသုံးပြုသူလက်လှမ်းမီမှုငြင်းပယ်',
'1146' => 'စားပွဲပေါ်မှာမတည်ရှိပါဘူး',
'2002' => 'ချိတ်ဆက်မှုအားငြင်းဆန်သည်',
// ပိုပြီးအမှားကုဒ်များနှင့်သက်ဆိုင်ရာအမှားအယွင်းများကိုထည့်သွင်းနိုင်ပါတယ်
];
အထက်ဖော်ပြပါအချက်များမှာဘာသာစကားနှစ်မျိုး (အင်္ဂလိပ်နှင့်တရုတ်) ဖြစ်သည်။ အမှန်တကယ် application များအနေဖြင့်ဘာသာစကားဆိုင်ရာအချက်အလက်များကိုသိမ်းဆည်းရန်ဘာသာစကားအထုပ်များပိုများနိုင်သည်သို့မဟုတ် JSON, XML နှင့်အခြားပုံစံများကိုသုံးနိုင်သည်။
ဒေတာဘေ့စ်အမှားတစ်ခုဖြစ်သောအခါအမှားကုဒ်ကို MySQLI :: $ errno မှတစ်ဆင့်ကျွန်ုပ်တို့ရနိုင်ပြီး Error Code ပေါ် မူတည်. ဘာသာစကားအထုပ်မှသက်ဆိုင်ရာအမှားအယွင်းများကိုရယူနိုင်သည်။
<?php
// Looking ဘာသာစကားအထုပ်များ
$lang = 'zh'; // ဤနေရာတွင်သင်အသုံးပြုသူ၏ဘာသာစကားချိန်ညှိချက်များအရရွေးချယ်နိုင်သည်
$langFile = $lang . '.php';
$errorMessages = include($langFile);
// ဖန်တီး MySQLi ဆက်
$mysqli = new mysqli("localhost", "username", "password", "database");
// 检查ဆက်
if ($mysqli->connect_error) {
$errno = $mysqli->connect_errno; // 获取ဆက်错误码
echo '数据库ဆက်失败: ' . $errorMessages[$errno] ?? 'အမည်မသိအမှား';
exit();
}
// စုံစမ်းမှုစစ်ဆင်ရေးလုပ်ဆောင်ပါ
$result = $mysqli->query("SELECT * FROM non_existing_table");
if (!$result) {
// အမှားကုဒ်နှင့် output ကို local-output ကိုသတင်းအချက်အလက်များကိုရယူပါ
$errno = $mysqli->errno;
echo 'စုံစမ်းမှုမအောင်မြင်ပါ: ' . $errorMessages[$errno] ?? 'အမည်မသိအမှား';
}
?>
ဤဥပမာတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုသို့မဟုတ်စုံစမ်းမှုလည်ပတ်မှုပျက်ကွက်သည့်အခါ MySQLI :: $ errno သည် သက်ဆိုင်ရာအမှားကုဒ်ကိုပြန်ပို့ပေးလိမ့်မည်။
တစ်ခါတစ်ရံတွင်ဒေသတွင်းမက်ဆေ့ခ်ျများနှင့်သက်ဆိုင်သောရှင်းလင်းသောအမှားကုဒ်မရှိပါ။ ဤကိစ္စတွင်ကျွန်ုပ်တို့သည်အမှားကုဒ်တစ်ခုစီအတွက် default error message တစ်ခုပေးနိုင်ပြီးတိကျသောအခြေအနေအရ၎င်းကိုထပ်မံစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။
<?php
// ပုံမှန်အမှားသတင်းစကား
$defaultMessages = [
'1045' => 'Access denied for user',
'1146' => 'Table doesn\'t exist',
'2002' => 'Connection refused',
];
// ဒေသတွင်းအမှားမက်ဆေ့ခ်ျကိုရယူပါ,မရရှိလျှင်,ပုံမှန်စာကိုသုံးပါ
$errorMessage = $errorMessages[$errno] ?? $defaultMessages[$errno] ?? 'An unexpected error occurred.';
// output error message
echo 'ဒေတာဘေ့စ်အမှား: ' . $errorMessage;
?>
ဤနည်းအားဖြင့်မည်သည့်အမှားအယွင်းမရှိပဲဒေတာဘေ့စ်အမှား၏မူလအချက်အလက်များကိုပြသခြင်းနှင့်အသုံးပြုသူအားပြ trouble နာကိုပြရန်သင့်တော်သောအမှားတစ်ခုပေးရန်ကျွန်ုပ်တို့သေချာပေါက်ပေးနိုင်သည်။
MySQLI :: errno :: errno နှင့် language packages များပြုလုပ်ရန်အတွက်ဒေသဆိုင်ရာဒေတာဘေ့စ်အမှားသတိပေးချက်များကိုရရှိရန်အတွက် errno နှင့် language package များသည်သုံးစွဲသူအတွေ့အကြုံနှင့်နိုင်ငံတကာအထောက်အပံ့တိုးတက်စေရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ အောက်ပါအဆင့်များဖြင့်သင်၏ application တွင်ဤလုပ်ဆောင်မှုကိုသင်အကောင်အထည်ဖော်နိုင်သည်။
MySQLI :: $ errno အမှားကုဒ်ကိုဖမ်းယူပါ။
ဘာသာစကားအထုပ်တစ်ခုဖန်တီးပါ။
လက်ရှိသုံးစွဲသူဒေသဆိုင်ရာဒေသအလိုက်အရသက်ဆိုင်ရာဘာသာစကား pack ကို dynamically load လုပ်ထားသည်။
ဤနည်းလမ်းသည်သင်၏လျှောက်လွှာကိုဘာသာစကားအမျိုးမျိုးဖြင့်ရင်ဆိုင်နေရသည့်အခါရှင်းရှင်းလင်းလင်းနှင့်နားလည်ရန်လွယ်ကူသောအမှားများကိုအမြဲတမ်းထောက်ပံ့ပေးသည်ကိုသေချာစေသည်။