လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_OPTTES နှင့်ဆက်သွယ်မှုဆိုင်ရာဂုဏ်သတ္တိများကိုချိန်ညှိသောအခါ $ errno အမှားများကိုစေလွှတ်သည်

MySQLI_OPTTES နှင့်ဆက်သွယ်မှုဆိုင်ရာဂုဏ်သတ္တိများကိုချိန်ညှိသောအခါ $ errno အမှားများကိုစေလွှတ်သည်

M66 2025-06-02

developer များသည် PHP ကို ​​အသုံးပြု. MySQL နှင့်အပြန်အလှန်ဆက်သွယ်သောအခါ connection အမှားများသို့မဟုတ်စွမ်းဆောင်ရည်ပြ issues နာများကိုမကြာခဏတွေ့ကြုံခံစားလေ့ရှိသည်။ MySQLI :: MySQLI_OPTTYS သည် MySQL connection property များကိုပိုမိုကောင်းမွန်စေရန်နှင့် MySQL connection property များကိုဖြေရှင်းရန်နှင့်ညှိနှိုင်းခြင်းများကိုဖြေရှင်းနိုင်ရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည်ဤကိရိယာများကို MySQL ဆက်သွယ်မှုတစ်ခုကို debug လုပ်ရန်ဤကိရိယာများကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ နိဒါန်း

MySQL သည် MySQL နှင့်အပြန်အလှန်ဆက်သွယ်သည့်အခါပြ problems နာများကိုဖော်ထုတ်ရန်အတွက် seveloper များကိုရှာဖွေရန်ကူညီရန်ဆက်သွယ်မှုရွေးချယ်စရာများနှင့်အမှားကုဒ်များကိုထောက်ပံ့ပေးသည်။ MySQLI :: MySQLI :: MySQLI_OPTTS ကဲ့သို့သောကိရိယာများကို MySQLI :: MySQLI_OPTTTS ကဲ့သို့သောကိရိယာများကိုထောက်ပံ့ပေးသည်။

2 ။ MySQLI :: $ errno ဆိုတာဘာလဲ။

MySQLI :: $ errno သည် MySQL စစ်ဆင်ရေးမအောင်မြင်သောအခါအမှားကုဒ်ကိုကိုယ်စားပြုသည့်ကိန်းဂဏန်းဖြစ်သည်။ ဤပိုင်ဆိုင်မှုသည်ဒေတာဘေ့စ် connection မအောင်မြင်ပါက database connection တစ်ခုပျက်ပြားသွားသောအခါသို့မဟုတ် SQL Query ကိုကွပ်မျက်စဉ်အမှားအယွင်းတစ်ခုဖြစ်ပေါ်လာသည်။ ဤအမှားကုဒ်ကိုခွဲခြမ်းစိတ်ဖြာခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အမှား၏အကြောင်းရင်းကိုနားလည်ရန်ကျွန်ုပ်တို့ကိုကူညီနိုင်သည်။

သာမန် MySQL အမှားကုဒ်များတွင် -

  • 2002 : MySQL server သို့ ဆက်သွယ်. မရပါ

  • 1045 : ငြင်းပယ်ခြင်း, သုံးစွဲသူအမည်သို့မဟုတ်စကားဝှက်အမှား

  • 1049 : သတ်မှတ်ထားသောဒေတာဘေ့စ်မရှိပါ

3 ။ mysqli_options ဆိုတာဘာလဲ။

MySQLI_OPTOOPT လုပ်ငန်းသည် MYSQL ဆက်သွယ်မှုတစ်ခုဖန်တီးသောအခါမတူညီသောဆက်သွယ်မှုရွေးချယ်စရာများကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ဤရွေးချယ်စရာများမှတစ်ဆင့် MySQL ဆက်သွယ်မှုများ၏အပြုအမူ ကို ချိန်ညှိခြင်း,

ဘုံရွေးချယ်စရာများတွင် -

  • MySQLI_OPT_CONCECET_TIMEOOT : ဆက်သွယ်မှုအချိန်ကုန်အချိန်ကိုသတ်မှတ်သည်။

  • MySQLI_OPT_LOCAL_INFILFILFILFILFILFION : load data local command ကို enable သို့မဟုတ် disable လုပ်ပါ။

  • MySQLI_OPT_CASTRAPRE : ဒေတာချုံ့မှုကို Enable သို့မဟုတ် disable ။

4 ။ ဆက်သွယ်မှုအမှားများကိုဖြေရှင်းခြင်း

4.1 ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ

MySQLI :: $ errno နှင့်အတူဆက်သွယ်မှုကိုထူထောင်ပြီးနောက်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်နိုင်သည်။ ဆက်သွယ်မှုပျက်ကွက်ပါက MySQLI :: $ အမှား မှတစ်ဆင့်အသေးစိတ်အမှားအချက်အလက်များကိုသင်ရနိုင်သည်။

 <?php
$mysqli = new mysqli("m66.net", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
    exit();
}
echo "အောင်မြင်စွာဆက်သွယ်မှု!";
?>

ဒီဥပမာမှာ $ MySQLI-> Connect_errno ဟာ သုညတန်ဖိုးမရှိတဲ့တန်ဖိုးကိုပြန်ပို့မယ်ဆိုရင်ဆက်သွယ်မှုမအောင်မြင်ဘူးလို့ဆိုလိုတယ်။ ကျွန်ုပ်တို့သည်အမှားကုဒ်အရနောက်ထပ်ပြ troubl နာဖြေရှင်းနိုင်သည်။

4.2 Connection parameters တွေကိုညှိဖို့ MySQLI_OPTTO တွေကို သုံးပါ

တခါတရံတွင် MySQL ဆက်သွယ်မှုတစ်ခုသို့မဟုတ်မတိုက်ဆိုင်သည့်ဇာတ်ကောင်များကြောင့်မတိုက်ဆိုင်သည့်ဇာတ်ကောင်များကြောင့်မအောင်မြင်ပါ။ ဤချိန်ညှိချက်များကို MySQLI_OPTOOTS ကို အသုံးပြု. ချိန်ညှိနိုင်သည်။

ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် connection connection အချိန်ကုန်ကိုသံသယရှိပါက MySQLI_OPT_Connect_Timeout ကိုချိန်ညှိနိုင်သည်။

 <?php
$mysqli = new mysqli();
$timeout = 10; // ဆက်သွယ်မှုအချိန်ကုန်ကိုသတ်မှတ်ပါ10စက်ဏန့်

// connection timeout သတ်မှတ်ပါ
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, $timeout);

$mysqli->real_connect("m66.net", "username", "password", "database");

if ($mysqli->connect_errno) {
    echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
    exit();
}
echo "အောင်မြင်စွာဆက်သွယ်မှု!";
?>

ချိတ်ဆက်နေစဉ်အချိန်ကုန်အမှားတစ်ခုဖြစ်ပေါ်ပါက MySQL ဆာဗာ၏ကွန်ယက် latency သို့မဟုတ်နှေးကွေးစွာတုန့်ပြန်မှုကြောင့်ဆက်သွယ်မှုပြတ်တောက်မှုကိုရှောင်ရှားရန် MySQLI_OPT_Connect_Timeout ကို ချိန်ညှိနိုင်သည်။

4.3 အမှားကုဒ်ခွဲခြမ်းစိတ်ဖြာခြင်း

MySQLI :: $ errno မှတစ်ဆင့်သတ်သတ်မှတ်မှတ်အမှားကုဒ်ကိုရယူပြီးသည့်နောက်အမှားအမျိုးအစားအရကွဲပြားခြားနားသောအစီအမံများကိုကျွန်ုပ်တို့ယူနိုင်သည်။ ဥပမာအားဖြင့်:

 <?php
$mysqli = new mysqli("m66.net", "username", "wrong_password", "database");

if ($mysqli->connect_errno) {
    switch ($mysqli->connect_errno) {
        case 1045:
            echo "မမှန်ကန်သောအသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်,ကျေးဇူးပြုပြီးဝင်သောဘောက်ချာကိုစစ်ဆေးပါ";
            break;
        case 2002:
            echo "ချိတ်ဆက်. မရပါ MySQL ဆာဆာ,请检查ဆာဆာ地址和端口";
            break;
        default:
            echo "ဆက်သွယ်မှုမအောင်မြင်ပါ,အမှားကုဒ်: " . $mysqli->connect_errno;
    }
    exit();
}
?>

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

5 ။ မကြာခဏမေးလေ့ရှိသောမေးခွန်းများနှင့်ဖြေရှင်းနည်းများ

5.1 ဆက်သွယ်မှုမအောင်မြင်ပါ။ အမှားကုဒ် 2002

ဤအမှားသည်များသောအားဖြင့်လက်လှမ်းမမှီနိုင်သောဒေတာဘေ့စ်ဆာဗာများသို့မဟုတ် port configuration အမှားများကြောင့်ဖြစ်သည်။ ဖြေရှင်းချက်များပါဝင်သည်:

  • MySQL ဆာဗာလည်ပတ်နေကြောင်းစစ်ဆေးပါ။

  • ကွန်ယက်ချိတ်ဆက်မှုနှင့်အတူပြ problem နာမရှိကြောင်းသေချာပါစေ။

  • M66.net Domain Name Name Resolution သည်မှန်ကန်ကြောင်းသေချာပါစေ။

5.2 အသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်သည်မမှန်ကန်ပါ။ အမှားကုဒ် 1045

ဤအမှားကဒေတာဘေ့စ်ဆက်သွယ်မှု၏အထောက်အထားများသည်မမှန်ကန်ကြောင်းဖော်ပြသည်။ ဖြေရှင်းချက်များပါဝင်သည်:

  • အသုံးပြုသူအမည်နှင့်စကားဝှက်မှန်ကန်ကြောင်းစစ်ဆေးပါ။

  • MySQL အသုံးပြုသူသည်သတ်မှတ်ထားသောဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်လုံလောက်သောခွင့်ပြုချက်ရှိသည်။

5.3 ဒေတာဘေ့စ်မရှိပါကအမှားကုဒ် 1049

ဤအမှားကတောင်းဆိုထားသောဒေတာဘေ့စ်သည်ဆာဗာတွင်မတည်ရှိကြောင်းဖော်ပြသည်။ ဖြေရှင်းချက်များပါဝင်သည်:

  • ဒေတာဘေ့စ်အမည်မှန်ကန်ကြောင်းစစ်ဆေးပါ။

  • ဒေတာဘေ့စ်ကို MySQL server ပေါ်တွင်ဖန်တီးကြောင်းသေချာပါစေ။

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

MySQLI :: MySQLI_OPTOOPTOOTS နှင့် MYSQLI နှင့် MYSQLI_OPTOOTS ဖြင့်ကျွန်ုပ်တို့သည် MySQL ဆက်သွယ်မှုပြ problems နာများကိုဖြေရှင်းနိုင်ရန်နှင့်ဖြေရှင်းနိုင်သည်။ ဤကိရိယာများကို အသုံးပြု. မှန်ကန်စွာအသုံးပြုခြင်းသည်ပြ problems နာများကိုအချိန်မီဖော်ထုတ်ရန်နှင့်ဒေတာဘေ့စ်စစ်ဆင်ရေး၏တည်ငြိမ်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုသေချာစေရန်သင့်လျော်သောလုပ်ဆောင်မှုများကိုပြုလုပ်နိုင်သည်။