လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: $ errno နှင့် trigger_error () အမှား interrupt ယန္တရားကိုအကောင်အထည်ဖော်ပါ

MySQLI :: $ errno နှင့် trigger_error () အမှား interrupt ယန္တရားကိုအကောင်အထည်ဖော်ပါ

M66 2025-05-28

PHP applications များကိုတီထွင်သောအခါ PHP applications များကိုတီထွင်သောအခါ PHP applications များကိုတီထွင်သည့်အခါအထူးသဖြင့်ဒေတာဘေ့စ်အပြန်အလှန်ဆက်သွယ်မှုများနှင့်ပတ်သက်လာလျှင်။ ချို့ယွင်းချက်ယန္တရားသည်ကျွန်ုပ်တို့အား Debug ကိုကူညီခြင်းနှင့်ကုဒ်ကိုပိုမိုကောင်းမွန်အောင်သာမကပရိုဂရမ်၏တည်ငြိမ်မှုနှင့်အသုံးပြုသူအတွေ့အကြုံကိုလည်းတိုးတက်စေသည်။ MySQLI :: errno and trigger_error () သည်အလွန်အသုံး 0 င်သောကိရိယာများဖြစ်သောအမှားများကိုကိုင်တွယ်ရန် PHP သည်နည်းလမ်းများစွာကိုထောက်ပံ့ပေးသည်။

ဤဆောင်းပါးတွင် MySQLI :: erryno နှင့် trigger_error () trigger_error () ကို မည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ဆွေးနွေးကြမည်။

1 ။ MySQLI :: errno နှင့် trigger_error () ?

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

  • Trigger_ERRORERRORR () - ဤသည်အသုံးပြုသူအဆင့်အမှားများကိုဖြစ်ပေါ်စေရန် PHP built-in function ဖြစ်သည်။ ၎င်းသည်အမှားအယွင်းများကိုတိကျသောအခြေအနေများတွင်ပစ်ချခြင်းနှင့်အမှားအယွင်းများကိုထိန်းချုပ်ရန်ခွင့်ပြုသည် (ဥပမာ - သတိပေးခြင်း, အသိပေးခြင်းသို့မဟုတ်ဆိုးဝါးသောအမှားများ)

2 ။ အမှား interrupt ယန္တရား၏လိုအပ်ချက်

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

ထို့ကြောင့် MySQLI :: Trrno နှင့် Trigger_Error () သည်ထိုကဲ့သို့သောပြ problems နာများကိုထိရောက်စွာတားဆီးနိုင်သည်။

3 ။ PHP အမှား interrupt ယန္တရားကိုအကောင်အထည်ဖော်ပါ

MySQLI :: errno and trigger_error ကိုအသုံးပြုပြီးရိုးရှင်းသောအမှားကြားဖြတ်ကိရိယာကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုကြည့်ကြပါစို့။

3.1 ဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့်အမှားကိုင်တွယ်ခြင်း

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုတည်ဆောက်ရန်နှင့်အောင်မြင်မှုရှိမရှိစစ်ဆေးရန်လိုအပ်သည်။ ဆက်သွယ်မှုပျက်ကွက်ပါကကျွန်ုပ်တို့သည် trigger_Error () ကို သုံး. ဆိုးဝါးသောအမှားတစ်ခုဖြစ်အောင်ပြုလုပ်နိုင်ပြီးပရိုဂရမ်ကွပ်မျက်မှုကိုဖျက်သိမ်းရန်အသုံးပြုနိုင်သည်။

 <?php
// ဒေတာဘေ့စ် connection configuration ကို
$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';

// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli($host, $username, $password, $dbname);

// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_errno) {
    // ဆက်သွယ်မှုမအောင်မြင်ပါ,ဆိုးဝါးသောအမှားတစ်ခုဖြစ်ပေါ်စေပြီးအစီအစဉ်ကိုကြားဖြတ်
    trigger_error("数据库ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error, E_USER_ERROR);
}
?>

အထက်ပါကုဒ်တွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုပျက်ကွက်ပါက ဒေါ်လာ MySQLI-> Connect_errno သည် Non-Zero error error code ကိုပြန်ပို့လိမ့်မည်

3.2 SQL query ကို Execute လုပ်ပြီးအမှားများကိုစစ်ဆေးပါ

ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်သောအခါအမှားစစ်ဆေးခြင်းအပြင် SQL Query များကိုကွပ်မျက်သည့်အခါအလားတူအမှားကိုင်တွယ်ရန်လိုအပ်သည်။ MySQLI :: $ errno မှတစ်ဆင့်မေးမြန်းမှု၏အမှားကုဒ်ကိုကျွန်ုပ်တို့ရနိုင်သည်။ အကယ်. စုံစမ်းမှုမအောင်မြင်ပါကပရိုဂရမ်ကိုအနှောင့်အယှက်ဖြစ်စေရန်နှင့်အမှားကိုအစီရင်ခံရန် trigger_ERror () ကို သုံးနိုင်သည်။

 <?php
// တစ် ဦး စုံစမ်းမှု execute
$query = "SELECT * FROM users";
$result = $mysqli->query($query);

// စုံစမ်းမှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->errno) {
    // စုံစမ်းမှုမအောင်မြင်ပါ,အမှားတစ်ခုဖွင့်ပြီးအစီအစဉ်ကိုကြားဖြတ်
    trigger_error("SQL စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error, E_USER_ERROR);
}
?>

ဤဥပမာတွင် SQL query သည် execute လုပ်ရန်ပျက်ကွက်ပါက $ MySQLI-> ERRNO သည် အမှားကုဒ်နံပါတ်ကိုပြန်ပို့လိမ့်မည်, trigger_Error () ကို ခေါ်လိမ့်မည်။ ဤအချက်သည်စုံစမ်းမှုနှင့် ပတ်သက်. ပြ a နာတစ်ခုရှိပါကပရိုဂရမ်ကိုအချိန်မီရပ်စဲလိမ့်မည်။

3.3 အမှားအဆင့်ကိုသတ်မှတ်ရန် trigger_error () ကို သုံးပါ

trigger_error () က အမှားအဆင့်ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်အမှားအယွင်းများ ( E_USER_WARNINGNINGNNING ) နှင့်အရေးကြီးသောအမှားများ (ဥပမာဒေတာ ဘေ့ စ်) ကဲ့သို့သောအမှားများကိုကိုင်တွယ်ရန်ရွေးချယ်နိုင်သည်။ ဤနည်းအားဖြင့် developer များသည်အမှားများကိုမည်သို့ကိုင်တွယ်ရမည်ကိုပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်နိုင်သည်။

 <?php
// တစ် ဦး စုံစမ်းမှုတစ်ခုအချည်းနှီးသောရလဒ်အစုတခုကိုပြန်ပို့ပါဆိုပါစို့
if ($result->num_rows === 0) {
    // အစပျိုးသတိပေးချက်,ဒါပေမယ့်လုပ်ထုံးလုပ်နည်းရပ်ဆိုင်းမထားဘူး
    trigger_error("အသိပေး: Query ရလဒ်သည်ဗလာဖြစ်သည်", E_USER_WARNING);
} else {
    // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
    while ($row = $result->fetch_assoc()) {
        echo $row['username'];
    }
}
?>

ဒီဥပမာမှာ query ဟာအချည်းနှီးသောရလဒ်အစုတခုကိုပြန်ပို့ပါကကျွန်ုပ်တို့သည် trigger_error () မှတဆင့်သတိပေးချက်တစ်ခုဖြစ်ပေါ်စေသော်လည်း, ဤချဉ်းကပ်နည်းသည်လုပ်ထုံးလုပ်နည်းများကိုချက်ချင်းရပ်ဆိုင်းရန်မလိုအပ်သည့်အခြေအနေများအတွက်သင့်တော်သည်။

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

MySQLI :: Transno နှင့် trigger_error ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် PHP applications များကိုလေးနက်သောအမှားများကိုဖြန့်ဖြူးခြင်းနှင့်ကုဒ်တည်ငြိမ်မှုကိုတိုးတက်စေရန်အတွက်ထိရောက်သောအမှား interrupt ယန္တရားတစ်ခုတည်ဆောက်နိုင်သည်။ ကွဲပြားခြားနားသောအမှားအယွင်းများကို trigger_Error ဖြင့် () ဖြင့်ပြောင်းလွယ်ပြင်လွယ်ထားခြင်းဖြင့်ပြ problems နာများပေါ်ပေါက်လာသောအခါပြ problems နာများပေါ်ပေါက်လာသောအမှားသတင်းအချက်အလက်များကိုပေးနိုင်ရန်အတွက်အမှားများကိုသေချာစေရန်အမှားများကိုမည်သို့ကိုင်တွယ်ဖြေရှင်းနိုင်သည်ကိုကျွန်ုပ်တို့ထိန်းချုပ်နိုင်သည်။

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