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

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

M66 2025-05-28

PHP တွင် MySQLI extension သည်ကြွယ်ဝသောဒေတာဘေ့စ်အပြန်အလှန်ဆက်သွယ်မှုများကိုထောက်ပံ့ပေးသည်။ MySQLI :: query method ကိုများသောအားဖြင့်ဒေတာဘေ့စ်မေးမြန်းချက်များကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသည်။ MySQLI :: querys :: querys :: querys :: Query :: query ကိုတိတိကျကျရှာဖွေတွေ့ရှိသည့်အမှားများကိုပြ troubl နာဖြေရှင်းခြင်းများကိုပိုမိုကောင်းမွန်စေရန်အတွက်တိုးတက်ကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။

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

1 ။ MySQLI :: query and mysqli :: $ errno

MySQLI :: query method ကို SQL query staxt query query query ရလဒ်များကိုလုပ်ဆောင်ရန်အသုံးပြုသည်သို့မဟုတ် ဒေတာ ဘေ့ စ် ကို ပြုပြင်ရန် ထည့်သွင်းခြင်း,

MySQLI :: $ errno attribute တွင်နောက်ဆုံးဒေတာဘေ့စ်စစ်ဆင်ရေး၏အမှားကုဒ်ပါရှိသည်။ ဤပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုမှတစ်ဆင့် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်သောအခါအမှားတစ်ခုဖြစ်ခြင်းရှိမရှိနားလည်နိုင်သည်။

MySQLI :: Query :: query ::

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

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

if (!$result) {
    echo "Query failed with error code: " . $mysqli->errno;
} else {
    // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
}
?>

အထက်ဖော်ပြပါဥပမာတွင် MySQLI :: Query ကိုရှာဖွေမေးမြန်းခြင်း ဖြင့် SQL query statement ကို Encape query code ကိုမအောင်မြင်သည့်အခါအမှားကုဒ်များကိုရယူရန်အတွက် SQL query ery :: MySQLI :: errno ကို သုံးပါ။

2 ။ MySQLI :: $ errno မှတစ်ဆင့်အမှားများကိုရှာဖွေနည်း

MySQLI :: $ errno property ကိုစစ်ဆေးခြင်းအားဖြင့်ဒေတာဘေ့စ်စစ်ဆင်ရေး၏ပျက်ကွက်မှုနှင့်ပတ်သက်သောအမှားကုဒ်ကိုကျွန်ုပ်တို့ရနိုင်သည်။ အမှားကုဒ်အပေါ် အခြေခံ. ပြ the နာကိုပိုမိုနားလည်နိုင်သည်။ ဥပမာအားဖြင့်, ဘုံအမှားကုဒ်များတွင်:

  • 1049 : အမည်မသိဒေတာဘေ့စ။

  • 1146 : စားပွဲပေါ်မှာမတည်ရှိပါဘူး။

  • 1064 : SQL syntax အမှား။

ဥပမာ - တိကျသောနေရာချထားမှုအမှားများ

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

// မှားသော SQL အသေအချာပေြာဆိုချက်,Syntax အမှား
$sql = "SELEC * FROM users"; // မှတ်သား,ငါရည်ရွယ်ချက်ပေါ်မှာဒီမှာရေးသားခဲ့သည် `SELECT`
$result = $mysqli->query($sql);

if (!$result) {
    // အမှားကုဒ်နှင့်အမှားအချက်အလက်များကိုရယူပါ
    echo "Query failed with error code: " . $mysqli->errno . " - " . $mysqli->error;
} else {
    // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
}
?>

အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည်မမှန်ကန်သော SQL ကြေငြာချက် ( သုံးစွဲသူများထံမှ Selec * * ) ကိုတမင်တကာရေးသားခဲ့သည်။ Query Execution ပျက်ကွက်သောအခါ MySQLI :: $ errno မှတစ်ဆင့်အမှားကုဒ်ကို MySQLI :: အမှားအချက်အလက်များကို MySQLI :: $ အမှားကို ရယူပါ။ ၎င်းသည် SQL Syntax အမှားအယွင်းများကိုတိကျသောပြ problems နာများကိုရှင်းလင်းရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။

3 ။ ဘုံအမှားကိုင်တွယ်ပုံစံများ

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

3.1 SQL အမှားများကိုဖမ်းယူခြင်း

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

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

if (!$result) {
    switch ($mysqli->errno) {
        case 1146:
            echo "Table not found: " . $mysqli->error;
            break;
        case 1064:
            echo "SQL syntax error: " . $mysqli->error;
            break;
        default:
            echo "Database error: " . $mysqli->error;
    }
} else {
    // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
}
?>

ဤဥပမာတွင် developer များအနေဖြင့်ဖြစ်ပျက်နေသောအရာများကိုပိုမိုရှင်းလင်းစွာသိနိုင်ရန်အတွက်ကွဲပြားသောအမှားကုဒ်များအပေါ် အခြေခံ. တိကျသောအမှားအချက်အလက်များကိုဖော်ပြထားသည်။

3.2 သစ်ထုတ်လုပ်ရေးအမှားများကိုအသုံးပြုပါ

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

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

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

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

if (!$result) {
    // သစ်ခုတ်
    error_log("SQL Error [" . $mysqli->errno . "]: " . $mysqli->error, 3, "/path/to/error.log");
    echo "An error occurred. Please check the log file for details.";
} else {
    // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
}
?>

ဤတွင် အမှားအယွင်းများ သည် developer များရှာဖွေတွေ့ရှိရန်နှင့်ဖြေရှင်းရန်အတွက် Log function မှသတင်းအချက်အလက်များကိုမှတ်တမ်းတင်သည်။

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

MySQLI :: $ errno property မှတစ်ဆင့်ဒေတာဘေ့စ်လုပ်ငန်းများ၌အမှားအယွင်းများကိုတိကျစွာဖမ်းယူနိုင်ပြီးအမှားကုဒ်များနှင့်အမှားအယွင်းများအပေါ် အခြေခံ. ပြ problems နာများကိုထပ်မံရှာဖွေနိုင်သည်။ ကောင်းမွန်သောအမှားကိုင်တွယ်သည့်ယန္တရားနှင့်ပေါင်းစပ်ပြီး developer များက PHP နှင့် MySQL Interactions ကိုပိုမိုထိရောက်စွာဖြည့်ဆည်းပေးနိုင်သည်။

သတိရပါ, အမှားအယွင်းရှိကိုင်တွယ်သူများကို developer များ debug ကုဒ်ကိုအထောက်အကူပြုရုံသာမကလျှောက်လွှာတည်ငြိမ်မှုနှင့်သုံးစွဲသူအတွေ့အကြုံများကိုတိုးမြှင့်ပေးနိုင်သည်။