လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> $ MySQLi-> Errno ကိုမသုံးမီဆက်သွယ်မှုသည်အောင်မြင်မှုရှိမရှိစစ်ဆေးရန်မေ့နေသည်

$ MySQLi-> Errno ကိုမသုံးမီဆက်သွယ်မှုသည်အောင်မြင်မှုရှိမရှိစစ်ဆေးရန်မေ့နေသည်

M66 2025-05-29

MySQL databases များကိုအသုံးပြုခြင်း PHP application များပြုလုပ်သောအခါဘုံစစ်ဆင်ရေးဖြစ်သည်။ PHP တွင် MySQL database နှင့်အပြန်အလှန်ဆက်သွယ်ရန် MySQLI အတန်းကိုအသုံးပြုလေ့ရှိသည်။ MySQLI နှင့်အတူကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်မေးမြန်းချက်များကိုအလွယ်တကူလုပ်ဆောင်နိုင်ပြီးရလဒ်များကိုရယူပြီးအခြားဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်နိုင်သည်။ သို့သော်, ဒေတာဘေ့စ်ခြယ်ခြင်းကုဒ်ကိုအမှန်တကယ်ရေးသားသည့်အခါကျွန်ုပ်တို့သည်အသေးစိတ်အချက်အလက်အချို့ကိုလျစ်လျူရှုနိုင်သည်။

၎င်းတို့အနက်တစ်မန်ပြ problem နာမှာ MySQLI :: $ errno property ကိုမသုံးမီ, ဒေတာဘေ့စ် connection အောင်မြင်မှုရှိမရှိစစ်ဆေးရန်မေ့လျော့သည်။ ဆက်သွယ်မှုကိုအောင်မြင်စွာမစစ်ဆေးပါကမည်သည့်ပြ problems နာများကိုဖြစ်ပေါ်စေမည်ကိုကြည့်ကြပါစို့။

1 ။ MySQLI :: $ errno ကဘာလဲ။

MySQLI :: $ errno သည် MySQLI ကို အသုံးပြု. ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်သောအခါအလွန်အသုံးဝင်သောပစ္စည်းတစ်ခုဖြစ်သည်။ ၎င်းသည်ယခင်ဒေတာဘေ့စ်စစ်ဆင်ရေးအတွက်အမှားကုဒ်ကိုကိုယ်စားပြုသည်။ အကယ်. သင်သည်မေးမြန်းခြင်းသို့မဟုတ်ထည့်သွင်းခြင်းကဲ့သို့သောလုပ်ငန်းများကိုလုပ်ဆောင်သောအခါအမှားတစ်ခုဖြစ်ပါက Errno သည် အမှားအမျိုးအစားကိုညွှန်ပြသည့်ကိန်းဂဏန်းကိုပြန်ပို့လိမ့်မည်။ အမှားမရှိပါက၎င်း၏တန်ဖိုးသည် 0 ဖြစ်လိမ့်မည်။

ဥပမာအားဖြင့်:

 $mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "အမှားအမှား: " . $mysqli->errno . " - " . $mysqli->error;
}

အထက်ပါဥပမာတွင် $ MySQLI-> ERRNO သည်အမှားကုဒ်များကိုရယူရန်နှင့်လုပ်ငန်းစဉ်ကိုရယူရန်အသုံးပြုသည်။

2 ။ ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိတရားစီရင်ခြင်းကိုမေ့လျော့

များသောအားဖြင့်ဒေတာဘေ့စ်လည်ပတ်မှုတစ်ခုချင်းစီမတိုင်မီဒေတာဘေ့စ်၏ဆက်သွယ်မှုတစ်ခုချင်းစီမတိုင်မီ ဒေတာဘေ့ စ်ဆက်သွယ်မှုသည်အောင်မြင်မှုရှိမရှိစစ်ဆေးပါမည်။ အကယ်. ဒေတာဘေ့စ်ဆက်သွယ်မှုမအောင်မြင်ပါကကျွန်ုပ်တို့သည် connection status ကိုမစစ်ဆေးပါကကျွန်ုပ်တို့သည်စုံစမ်းမှုလည်ပတ်မှုကိုတိုက်ရိုက်မစစ်ဆေးနိုင်ပါ။

အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ -

 $mysqli = new mysqli("localhost", "user", "password", "database");

$query = "SELECT * FROM table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "အမှားအမှား: " . $mysqli->errno . " - " . $mysqli->error;
}

ဤဥပမာတွင် MySQLI သည်ဒေတာဘေ့စ်နှင့်အောင်မြင်စွာချိတ်ဆက်မှုရှိမရှိမဆုံးဖြတ်ပါ။ ဒေတာဘေ့စ်ဆက်သွယ်မှုပျက်ပြားသွားလျှင် ဒေါ်လာ MySQLI-> query () ကို ကွပ်မျက်ခံရမည်မဟုတ်, $ MySQLI-> ERRNO သည် မှန်ကန်သောအမှားအယွင်းများမပါ 0 င်ပါ။

အထူးသဖြင့်အောက်ပါတို့သည်ပေါ်ပေါက်လာသောပြ the နာများဖြစ်သည်။

2.1 အမှားအမှားကုဒ်

အကယ်. စုံစမ်းမှုကိုမအောင်မြင်မီအောင်မြင်မှုအတွက်ဆက်သွယ်မှုကိုမစစ်ဆေးပါကဤအစီအစဉ်သည်ဆက်လက်လုပ်ဆောင်နိုင်ပြီးမှားယွင်းသော Errno တန်ဖိုးကိုရရှိနိုင်သည်။ ဥပမာအားဖြင့်, ဒေတာဘေ့စဆက်သွယ်မှုမအောင်မြင်ပါကအမှားကုဒ်သည် connection ပျက်ကွက်၏အမှန်တကယ်အခြေအနေကိုရောင်ပြန်ဟပ်ခြင်းမရှိပါ။

2.2 အမှန်တကယ်အမှားကိုဝှက်ထားပါ

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

2.3 အလားအလာရှိသောလုံခြုံရေးပြ issues နာများ

အချို့ဖြစ်ရပ်များတွင် connection status ကိုအရင်မစစ်ဆေးပါကအမှားအယွင်းသည်ဒေတာဘေ့စ်နှင့်သက်ဆိုင်သောအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုဖော်ထုတ်နိုင်သည်။ ဥပမာအားဖြင့်, အမှားသတင်းတွင်ဒေတာဘေ့စ်၏ဆက်သွယ်မှုကြိုးများသို့မဟုတ်အခြားအထိခိုက်မခံသောအချက်အလက်များပါ 0 င်နိုင်သည်။ အမှားကိုင်တွယ်မှုနည်းလမ်းအားဖြင့်တိုက်ခိုက်သူသည် System ဖွဲ့စည်းပုံနှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုရယူရန်အခွင့်အရေးရှိနိုင်သည်။ ၎င်းသည်လုံခြုံရေးအားနည်းချက်များကိုပေါ်ပေါက်လာစေနိုင်သည်။

3 ။ ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုမှန်ကန်စွာစစ်ဆေးရန်မည်သို့နည်း။

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

 $mysqli = new mysqli("localhost", "user", "password", "database");

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

$query = "SELECT * FROM table";
$result = $mysqli->query($query);

if ($mysqli->errno) {
    echo "အမှားအမှား: " . $mysqli->errno . " - " . $mysqli->error;
}

ဤကုဒ်တွင် Connect_Error သည် ဒေတာဘေ့စ်ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်အချည်းနှီးဖြစ်သည်ကို ဦး စွာစစ်ဆေးသည်။ ဆက်သွယ်မှုမအောင်မြင်ပါကပရိုဂရမ်သည်စောစောစီးစီးရပ်တန့်ပြီးအမှားအယွင်းတစ်ခုပြလိမ့်မည်။ ဆက်သွယ်မှုအောင်မြင်လျှင် Query စစ်ဆင်ရေးသည်အမှားအယွင်းများကိုစစ်ဆေးရန် $ MySQLI-> ERRNO ကို မှန်ကန်စွာသုံးပါ။

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

Database စစ်ဆင်ရေးကိုမလုပ်ဆောင်မီဆက်သွယ်မှုသည်အောင်မြင်မှုရှိမရှိအောင်မြင်မှုရှိမရှိစစ်ဆေးရန်မေ့နေပါ။ မှားယွင်းသောအမှားကုဒ်များ, ဤပြ problems နာများကိုရှောင်ရှားရန်ဒေတာဘေ့စ်လည်ပတ်မှုတစ်ခုချင်းစီမတိုင်မီဆက်သွယ်မှုသည်အောင်မြင်ကြောင်း ဦး စွာအတည်ပြုပါ။ ဤအချက်သည်ပရိုဂရမ်ကိုပိုမိုခိုင်မာပြတ်သားစွာနှင့်အမှားအချက်အလက်များကိုပိုမိုတိကျပြီး Code ၏ထိန်းသိမ်းမှုနှင့်လုံခြုံမှုကိုတိုးတက်စေရန်အတွက်ပိုမိုတိကျသည်။

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