လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> မတူညီသော SQL Failed Failedt အမျိုးအစားများကိုစစ်ဆေးခြင်းကိုအလိုအလျောက်လုပ်ရန် $ errno ကိုသုံးပါ

မတူညီသော SQL Failed Failedt အမျိုးအစားများကိုစစ်ဆေးခြင်းကိုအလိုအလျောက်လုပ်ရန် $ errno ကိုသုံးပါ

M66 2025-05-28

PHP တွင် MySQL ဒေတာဘေ့စ်များကိုအသုံးပြုသောအခါ SQL Query များကိုကွပ်မျက်သည့်အခါအမှားတစ်ခုကြုံတွေ့ရနိုင်သည်။ ဤအမှားများကိုနေရာချထားရန်လွယ်ကူချောမွေ့စေရန် MySQLI :: $ errno မှပေးသောအမှားကုဒ်သည်ပျက်ကွက်မှု၏အကြောင်းရင်းကိုဆုံးဖြတ်ရန်နှင့်၎င်းကိုကိုင်တွယ်ရန်အသုံးပြုနိုင်သည်။ ဤဆောင်းပါးသည် MySQLI :: $ errno နှင့် SQL Execution ပျက်ကွက်အမျိုးအစားအမျိုးမျိုးကိုအလိုအလျောက်မည်သို့ခွဲခြားသတ်မှတ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ MySQLI :: $ errno နားလည်ပါ

MySQLI :: $ errno သည် မကြာသေးမီကကွပ်မျက်ခံရသော MySQL query ၏အမှားကုဒ်ပါ 0 င်သည့် attribute တစ်ခုဖြစ်သည်။ ၎င်းသည်ကွဲပြားခြားနားသောအမှားအယွင်းများကိုကိုယ်စားပြုသောကိန်းဂဏန်းတစ်ခုပြန်ပို့သည်။ ၎င်းသည် developer များအတွက်အလွန်အသုံးဝင်သည်။ SQL ကိုကွပ်မျက်ရာတွင်ပြ issues နာများကိုနေရာချထားရန်ကျွန်ုပ်တို့ကိုကူညီနိုင်သည်။

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

2 ။ သာမန် MySQL အမှားကုဒ်များ

ဤတွင်အများသုံး MySQL အမှားကုဒ်များနှင့်သူတို့၏အဓိပ္ပါယ်များရှိသည်။

အမှားကုဒ် အမှားဖော်ပြချက်
1045 ဝင်ရောက်ခွင့်ကိုငြင်းပယ်ခြင်း (ခွင့်ပြုချက်မရှိပါ)
1064 SQL syntax အမှား
1146 စားပွဲပေါ်မှာမတည်ရှိပါဘူး
1054 ကော်လံမရှိပါ
1062 ပုံတူပွားခြင်း (ထူးခြားသောကန့်သတ်ချက်ချိုးဖောက်ခြင်း)

SQL Query များကိုသင် execute လုပ်သည့်အခါ MySQLI :: errno မှတစ်ဆင့်ဤအမှားကုဒ်များကိုသင်စစ်ဆေးနိုင်သည်။

3 ။ အမှားများကိုကိုင်တွယ်ရန် MySQLI :: $ errno ကို သုံးပါ

ပထမ ဦး စွာ MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ထားသောဥပမာတစ်ခုလိုအပ်သည်, ပြီးနောက် SQL query query ကို execute လုပ်ပြီးအမှားတစ်ခုရှိမရှိစစ်ဆေးပါ။ ဒီမှာနမူနာကုဒ်တစ်ခုပါ။

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

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

$query = "SELECT * FROM non_existent_table"; // ရည်ရွယ်ချက်ရှိရှိရေးသားထားသောမှားယွင်းသောစားပွဲပေါ်မှာအမည်
$result = $mysqli->query($query);

if (!$result) {
    // စုံစမ်းမှုပျက်ကွက်လျှင်,အမှားကုဒ်များနှင့်သတင်းအချက်အလက်အမှားများကိုရယူပါ
    echo "အမှားကုဒ်: " . $mysqli->errno . "<br>";
    echo "အမှားသတင်းစကား: " . $mysqli->error . "<br>";

    // 根据အမှားကုဒ်做不同的处理
    switch ($mysqli->errno) {
        case 1045:
            echo "ဝင်ရောက်ခွင့်မရှိပါ,ကျေးဇူးပြု. ဒေတာဘေ့စ်အသုံးပြုသူ၏ခွင့်ပြုချက်များကိုစစ်ဆေးပါ。";
            break;
        case 1064:
            echo "SQL Syntax အမှား,ကျေးဇူးပြု. စုံစမ်းမှု syntax ကိုစစ်ဆေးပါ。";
            break;
        case 1146:
            echo "စားပွဲပေါ်မှာမတည်ရှိပါဘူး,ကျေးဇူးပြု. ဇယားအမည်ကိုစစ်ဆေးပါ。";
            break;
        case 1054:
            echo "ကော်လံမရှိပါ,ကျေးဇူးပြု. ကော်လံအမည်ကိုစစ်ဆေးပါ。";
            break;
        case 1062:
            echo "repries တွေကိုပြန်လုပ်ပါ,ထူးခြားသောကန့်သတ်ခြင်း၏ချိုးဖောက်မှု。";
            break;
        default:
            echo "အခြားအမှားများ,ကျေးဇူးပြုပြီးစစ်ဆေးပါ。";
    }
} else {
    // အောင်မြင်သောစုံစမ်းမှု,အပြောင်းအလဲများရလဒ်များ
    while ($row = $result->fetch_assoc()) {
        echo "အချက်များ: " . $row['column_name'] . "<br>";
    }
}

$mysqli->close();
?>

အထက်ပါကုဒ်တွင် SQL Execution ပျက်ကွက်ပါကအမှားကုဒ်နှင့်အမှားအယွင်းများကိုပထမဆုံးပုံနှိပ်ထုတ်ဝေလိမ့်မည်။ ထို့နောက် MySQLI :: $ errno ၏တန်ဖိုးကို အခြေခံ. ကျွန်ုပ်တို့သည် switch statement ကို ဖြတ်. အမှားအယွင်းများကိုဆုံးဖြတ်ပြီးအထူးအမှားအယွင်းများကိုပေးထားသည်။

4 ။ MySQLI :: အမှားအယွင်းများအတွက် $ errno ကို သုံးပါ

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

  • Error ဇယားအမည် - query table မတည်ရှိပါက MySQL သည်အမှားကုဒ် 1146 (စားပွဲပေါ်မှာမရှိပါ)

  • အမှား SQL syntax: syntax အမှားအယွင်းများသည်များသောအားဖြင့် 1064 အမှားကုဒ်ကိုပြန်ပို့သည်။

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

စမ်းသပ်မှုအတွင်း MySQLI :: $ errno မှတစ်ဆင့်သက်ဆိုင်ရာအမှားကုဒ်များကိုသင်ပြုပြင်ရန် SQL quert station ်ဌာန်းချက်ကိုပြုပြင်နိုင်သည်။

5 ။ ဥပမာ - URL စစ်ဆေးမှုနှင့်မအောင်မြင်သော SQL query

ရှုပ်ထွေးသော SQL Queries တွင် URLs သို့မဟုတ်ပြင်ပဒေတာအရင်းအမြစ်များကိုအသုံးပြုခြင်းတွင်ပါ 0 င်နိုင်သည်။ အကယ်. ရှာဖွေမှုတွင်ပြင်ပအရင်းအမြစ်များပါ 0 င်ပါက URL သည်မှန်ကန်မှုရှိမရှိစစ်ဆေးရန်အောက်ပါနည်းလမ်းများကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။