လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> $ errno နှင့် language package ကိုပေါင်းစပ်ခြင်း

$ errno နှင့် language package ကိုပေါင်းစပ်ခြင်း

M66 2025-05-29


MySQLI :: $ errno နှင့် language package ကို Completned Database အမှားသတိပေးချက်များကိုအကောင်အထည်ဖော်ရန်မည်သို့ပေါင်းစပ်မည်နည်း။

0 က်ဘ်အပလီကေးရှင်းများကိုတီထွင်သောအခါဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်ဖြေရှင်းခြင်းအမှားအယွင်းများသည်မရှိမဖြစ်လိုအပ်သည်။ အသုံးပြုသူအတွေ့အကြုံတိုးတက်စေရန်အတွက်ဒေသအသီးသီးတွင် အခြေခံ. ဖော်ရွေသောအမှားအယွင်းများကိုပြသရန်မကြာခဏလိုအပ်သည်။ MySQLI ၏ extension ကို MySQL Database နှင့်အပြန်အလှန်ဆက်သွယ်ရန် MySQLI extension ကိုထောက်ပံ့ပေးသည်

ဤဆောင်းပါးသည် MySQLI :: Rerrno နှင့် Language Package ကို Comportnization database error prompts ကိုအကောင်အထည်ဖော်ရန်မည်သို့ပြုလုပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ အခြေခံအတွေးအခေါ်များ

ပထမ ဦး စွာ PHP ၏ MySQLI Extension သည် MySQLI :: $ ersqli property ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည် MySQL အမှားအတွက်အမှားကုဒ်ကိုသိုလှောင်ထားသည်။ သက်ဆိုင်ရာဒေသဆိုင်ရာအမှားသတိပေးချက်များကိုကျွန်ုပ်တို့ရှာဖွေနိုင်ပါကကျွန်ုပ်တို့၏လျှောက်လွှာသည်ပိုမိုအသုံးဝင်သည်။ ဒေသဆိုင်ရာဒေသများအရသင့်လျော်သောအမှားအယွင်းများကိုပြန်ပို့နိုင်သည်။

၎င်းကိုအကောင်အထည်ဖော်သည့်အခါကျွန်ုပ်တို့သည်များသောအားဖြင့်အောက်ပါအဆင့်များလိုအပ်သည် -

  1. ဒေတာဘေ့စ်အမှားများကိုရိုက်ကူးပြီးအမှားကုဒ် MySQLI :: $ errno

  2. သက်ဆိုင်ရာဘာသာစကားအတွက်သတင်းအချက်အလက်များကိုဘာသာစကား pack မှတဆင့်အမှားအယွင်းများရယူပါ။

  3. အသုံးပြုသူအား localization error message ကိုဖော်ပြပါ။

2 ။ ဘာသာစကားအထုပ်တစ်ခုဖန်တီးပါ

ပထမ ဦး စွာဘာသာစကားအထုပ်တစ်ခုဖန်တီးရန်လိုအပ်သည်။ ငါတို့မှာဘာသာစကားနှစ်မျိုးရှိတယ်ဆိုပါစို့။ နောက်ဆက်တွဲရှာဖွေမှုများနှင့်ကိုးကားချက်များကိုလွယ်ကူချောမွေ့စေရန်ဤအချက်အလက်များကို 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 နှင့်အခြားပုံစံများကိုသုံးနိုင်သည်။

3 ။ MySQLI ::: $ errno နှင့်အတူ combinno errination အမှား prompts ကိုအကောင်အထည်ဖော်ရန် errno

ဒေတာဘေ့စ်အမှားတစ်ခုဖြစ်သောအခါအမှားကုဒ်ကို 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 သည် သက်ဆိုင်ရာအမှားကုဒ်ကိုပြန်ပို့ပေးလိမ့်မည်။

4 ။ ပိုမိုရှုပ်ထွေးသောအမှားကိုင်တွယ်မှု - စိတ်ကြိုက်အမှားအယွင်းများကိုထည့်ပါ

တစ်ခါတစ်ရံတွင်ဒေသတွင်းမက်ဆေ့ခ်ျများနှင့်သက်ဆိုင်သောရှင်းလင်းသောအမှားကုဒ်မရှိပါ။ ဤကိစ္စတွင်ကျွန်ုပ်တို့သည်အမှားကုဒ်တစ်ခုစီအတွက် 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 နာကိုပြရန်သင့်တော်သောအမှားတစ်ခုပေးရန်ကျွန်ုပ်တို့သေချာပေါက်ပေးနိုင်သည်။

5 ။ အကျဉ်းချုပ်

MySQLI :: errno :: errno နှင့် language packages များပြုလုပ်ရန်အတွက်ဒေသဆိုင်ရာဒေတာဘေ့စ်အမှားသတိပေးချက်များကိုရရှိရန်အတွက် errno နှင့် language package များသည်သုံးစွဲသူအတွေ့အကြုံနှင့်နိုင်ငံတကာအထောက်အပံ့တိုးတက်စေရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ အောက်ပါအဆင့်များဖြင့်သင်၏ application တွင်ဤလုပ်ဆောင်မှုကိုသင်အကောင်အထည်ဖော်နိုင်သည်။

  • MySQLI :: $ errno အမှားကုဒ်ကိုဖမ်းယူပါ။

  • ဘာသာစကားအထုပ်တစ်ခုဖန်တီးပါ။

  • လက်ရှိသုံးစွဲသူဒေသဆိုင်ရာဒေသအလိုက်အရသက်ဆိုင်ရာဘာသာစကား pack ကို dynamically load လုပ်ထားသည်။

ဤနည်းလမ်းသည်သင်၏လျှောက်လွှာကိုဘာသာစကားအမျိုးမျိုးဖြင့်ရင်ဆိုင်နေရသည့်အခါရှင်းရှင်းလင်းလင်းနှင့်နားလည်ရန်လွယ်ကူသောအမှားများကိုအမြဲတမ်းထောက်ပံ့ပေးသည်ကိုသေချာစေသည်။