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

ရလဒ်အနေဖြင့်ပြန်လည်မမှန်ရန်ဒေါ်လာအမှားအယွင်းများကိုဖြန့်ချိရန်မေ့နေသည်

M66 2025-05-29

MySQLI ကို ဒေတာဘေ့စ်လုပ်ငန်းများအတွက်အသုံးပြုသည့်အခါ MySQLI :: $ errno တွင် ပုံမှန်မဟုတ်သောပြောင်းလဲမှုများပြ problem နာကိုကျွန်ုပ်တို့မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ MySQLI :: $ errno သည် ဒေတာဘေ့စ်ဆက်သွယ်မှုသို့မဟုတ်မေးမြန်းစဉ်တွင်အမှားကုဒ်များကိုရရှိရန်အသုံးပြုသော attribute တစ်ခုဖြစ်သည်။ ၎င်းသည် developer များအနေဖြင့်အမှားအယွင်းများကိုရှာဖွေရန်ကူညီပေးသည်။ သို့သော်ကျွန်ုပ်တို့သည်စုံစမ်းမှုတစ်ခုပြုလုပ်သောအခါ MySQLI :: Rerrno ၏တန်ဖိုးသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီမှုမရှိသောကြောင့်အစီအစဉ်တွင်မမျှော်လင့်သောအပြုအမူများနှင့်မကိုက်ညီသောအပြုအမူများကိုရံဖန်ရံခါရှာဖွေတွေ့ရှိခဲ့သည်။ ဤအချိန်တွင်အလားအလာရှိသောအကြောင်းပြချက်များကိုမကြာခဏသတိမထားမိကြပါ။ ရလဒ်ကိုမထုတ်ပြန်ပါ။

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

MySQLI :: $ errno သည် MySQLI အရာဝတ်ထု၏ပိုင်ဆိုင်မှုဖြစ်သည်။ ယခင် MySQL စစ်ဆင်ရေးကာလအတွင်း (ဥပမာ, ဆက်သွယ်မှု, ဆက်သွယ်မှုစသည်တို့) တွင်အမှားကုဒ်များကိုသိမ်းဆည်းထားသည်။ အကယ်. စစ်ဆင်ရေးအောင်မြင်လျှင် MySQLI :: $ errno 0 င် ပြန်လာလိမ့်မည်။ အကယ်. စစ်ဆင်ရေးပျက်ကွက်ပါက၎င်းသည်သုည non-error error code ကိုပြန်ပို့လိမ့်မည်။ ဤအမှားကုဒ်များအပေါ် အခြေခံ. MySQL အမှား၏အကြောင်းရင်းကိုသင်တွေ့နိုင်သည်။

ဘုံအမှားကုဒ်များတွင် -

  • 1045: လက်လှမ်းမီမှုငြင်းပယ်ခြင်း (အသုံးပြုသူအတွက်ဝင်ရောက်ခွင့်)

  • 1064: syntax အမှား (syntax အမှား)

  • 2002 - MySQL server နှင့် ချိတ်ဆက်. မရပါ (MySQL ဆာဗာသို့ ဆက်သွယ်. မရပါ)

များသောအားဖြင့်ဒေတာဘေ့စ်စစ်ဆင်ရေးမအောင်မြင်ပါက MySQLI :: MySQLI :: MySQLI :: အမှားအယွင်းများကိုဆုံးဖြတ်ရန်ဒေါ်လာအမှား (အမှားအယွင်း) ကိုသုံးနိုင်သည်။

ဘာကြောင့်ပုံမှန်မဟုတ်သောပြောင်းလဲမှုဖြစ်သနည်း။

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

ရလဒ်ကိုဖြန့်ချိ၏အခန်းကဏ်။

MySQLI_QUERY () ကိုလုပ်ဆောင်ရန် () လုပ်ဆောင်မှုကိုလုပ်ဆောင်ရန်အတွက်ကျွန်ုပ်တို့သည်လုပ်ငန်းစုံစမ်းမှုတစ်ခုကိုလုပ်ဆောင်ရန်အတွက် MySQL သည်စုံစမ်းမှုရလဒ်များကိုမှတ်ဉာဏ်တွင်သိမ်းဆည်းလိမ့်မည်။ အရင်းအမြစ်များကိုဖြည့်ဆည်းပြီးနောက်, စုံစမ်းမှုပြီးဆုံးပြီးနောက် MySQLI_FREE_RESULE_RESELT () function ကိုအသုံးပြုသင့်သည်။ ၎င်းသည်အမှတ်အသားပြုရန်သာမကမပါ 0 င်သောရလဒ်များကြောင့်အကျိုးသက်ရောက်နိုင်သည့်နောက်ဆက်တွဲစစ်ဆင်ရေးများကိုလည်းရှောင်ရှားနိုင်သည်။

အဘယ်သူမျှမရလဒ်အစုံဖြန့်ချိနေသည်

အကယ်. သင်သည်စုံစမ်းမှုကိုအကောင်အထည်ဖော်ရန်နှင့်စုံစမ်းမှုပြီးဆုံးပြီးနောက် MySQLI_FREE_RESELT () ကို ရလဒ်အနေဖြင့်အခမဲ့မခေါ်ပါ။ နောက်တစ်ခုကနောက်ထပ်စုံစမ်းမှုလည်ပတ်မှုကိုလုပ်ဆောင်ရန်ကြိုးစားသောအခါ, အောက်ပါအခြေအနေကိုသင်ကြုံတွေ့ရနိုင်သည်။

 <?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli('localhost', 'root', 'password', 'test_db');

// ပထမ ဦး ဆုံးမေးမြန်းချက်ကို execute
$result1 = $mysqli->query("SELECT * FROM users");

// ရလဒ်အစုကိုဖြန့်ချိလျှင်
// $mysqli->free_result($result1);  // လွှတ်ပေးရန်လျစ်လျူရှု

// ဒုတိယမေးခွန်းကိုလုပ်ဆောင်ပါ
$result2 = $mysqli->query("SELECT * FROM orders");

// အမှားမက်ဆေ့ခ်ျကိုရယူပါ
echo "အမှားကုဒ်: " . $mysqli->errno;
?>

အထက်ဖော်ပြပါကုဒ်များသည်ရလဒ်ကိုပထမမေးခွန်းကိုမထုတ်ပြန်ခဲ့သည့်အတွက် ဒေါ်လာ MySQLI-> ERRNO သည် ဒုတိယမေးခွန်းကိုမှန်ကန်စွာမရရှိနိုင်ပါ။ ဤသည် MySQLI :: $ errno ၏ပုံမှန်မဟုတ်သောပြောင်းလဲမှု၏အဓိကအကြောင်းရင်းဖြစ်သည်။

ဘယ်လိုဖြေရှင်းမလဲ

MySQLI :: $ errno တွင်ပုံမှန်မဟုတ်သောပြောင်းလဲမှုများကိုရှောင်ရှားနိုင်ရန်အတွက် Querno မှ QRERNO တွင်စုံစမ်းမှုရလဒ်အလုံးအရင်းကိုအချိန်မီဖြန့်ချိမည်ဖြစ်ကြောင်းသေချာပါသည်။ လုပ်ရန်မှန်ကန်သောနည်းလမ်းမှာ -

 <?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli('localhost', 'root', 'password', 'test_db');

// ပထမ ဦး ဆုံးမေးမြန်းချက်ကို execute
$result1 = $mysqli->query("SELECT * FROM users");

// ရလဒ်ကိုလွှတ်ပေးရန်
if ($result1) {
    $result1->free();
}

// ဒုတိယမေးခွန်းကိုလုပ်ဆောင်ပါ
$result2 = $mysqli->query("SELECT * FROM orders");

// အမှားမက်ဆေ့ခ်ျကိုရယူပါ
echo "အမှားကုဒ်: " . $mysqli->errno;
?>

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

အကျဉ်းချုပ်

MySQLI ကို ဒေတာဘေ့စ်စစ်ဆင်ရေးအတွက် MySQLI ကိုအသုံးပြုသောအခါ MySQLI တွင်ပုံမှန်မဟုတ်သောအပြောင်းအလဲများအတွက်အကြောင်းပြချက်သည် erification ရလဒ်ကိုဖြန့်ချိရန်မေ့လျော့ခြင်းကြောင့်မကြာခဏဖြစ်သည်။ ရလဒ်ကိုလွှတ်ပေးခြင်းသည်မှတ်ဥာဏ်ကိုကယ်တင်ရန်သာမကဘဲနောက်ဆက်တွဲစစ်ဆင်ရေးများကိုလည်းမထိခိုက်ကြောင်းသေချာစေသည်။ ထို့ကြောင့်စုံစမ်းမှုပြီးဆုံးသွားသောအခါ, ကျွန်ုပ်တို့သည် MySQLI_FREE_RESELT () သို့မဟုတ် အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ () အခမဲ့ ()) ကိုအသုံးပြုသင့်သည်။

ဆက်စပ်သောအရင်းအမြစ်များ

MySQLI စစ်ဆင်ရေးများကိုပိုမိုနားလည်ရန်နှင့်အမှားများကိုမည်သို့ရှောင်ရှားရန်သင့်အားကူညီရန်အောက်ပါအရင်းအမြစ်များကိုသင်ရည်ညွှန်းနိုင်သည်။