PHP တွင် MySQLI extension သည် MySQL database တွင်လုပ်ကိုင်ရန်ကြွယ်ဝသောလုပ်ဆောင်ချက်များကိုပေးသည်။ MySQLI_STMT :: $ အမှား နှင့် MySQLI :: MySQLI :: ersqli :: errno သည် developer များစစ်ဆင်ရေးများတွင်ပြ problems နာများရှိပြ problems နာများကိုရှာဖွေရန်ကူညီနိုင်သည့်အမှားကိုင်တွယ်မှုနှင့်သက်ဆိုင်သောအရေးကြီးသောဂုဏ်သတ္တိများနှစ်မျိုးဖြစ်သည်။ ဤဆောင်းပါးသည်ဤဂုဏ်သတ္တိများနှစ်မျိုးအကြားကွဲပြားခြားနားမှုများကိုလေ့လာသုံးသပ်ခြင်းနှင့် debugging ထိရောက်မှုကိုတိုးတက်စေရန်သူတို့ကိုမည်သို့ပေါင်းစပ်အသုံးပြုရမည်ကိုလေ့လာလိမ့်မည်။
MySQLI_STMT :: $ အမှား သည်လက်ရှိ Preprocessing statement object ( MySQLI_STMT ) နှင့်ပတ်သက်သောအမှားအယွင်းများကိုရရှိရန်အသုံးပြုသောပစ္စည်းတစ်ခုဖြစ်သည်။ ဤအိမ်ခြံမြေသည်ကြိုတင်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်သည့်အခါဖြစ်ပေါ်သောအမှားမက်ဆေ့ခ်ျများပါ 0 င်သော string တစ်ခုသို့ပြန်ပို့သည်။
ဥပမာအားဖြင့်, အကယ်. သင်သည် SQL query ကိုလုပ်ဆောင်သောအခါ, အကယ်. query ပျက်ကွက်လျှင်, အကယ်. query ပျက်ကွက်ပါက MySQLI_STMT :: $ အမှားသည် MySQL server ၏အမှားအယွင်းကိုပြန်ပေးလိမ့်မည်။
နမူနာကုဒ်:
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
if (!$stmt) {
echo "ပြင်ဆင်ထားအသေအချာပေြာဆိုချက်失败: " . $mysqli->error;
exit;
}
// parameters တွေကိုချည်နှောင်ခြင်းနှင့် execute
$id = 1;
$stmt->bind_param("i", $id);
$stmt->execute();
// Execution ရလဒ်များကိုစစ်ဆေးပါ
if ($stmt->error) {
echo "Execute အမှား: " . $stmt->error; // output အသေးစိတ်အမှားသတင်းအချက်အလက်
}
?>
အထက်ဖော်ပြပါကုဒ်များတွင် ဒေါ်လာ stmt-> အမှားသည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်သည့်အခါဖြစ်ပေါ်လာသောအမှားသတင်းကိုရရှိရန်အသုံးပြုသည်။ ဤသည် debugging နှင့်ပြ troubl နာဖြေရှင်းခြင်းအတွက်အလွန်အသုံးဝင်သည်။
MySQLI :: Errno သည် နောက်ဆုံး MySQL စစ်ဆင်ရေးအတွက်အမှားကုဒ်ကိုရရန်အသုံးပြုသောပစ္စည်းတစ်ခုဖြစ်သည်။ အသေးစိတ်အမှားအချက်အလက်များကိုပြန်လည်ပေးခဲ့သော $ error attribute နှင့်မတူဘဲ Errno သည် MySQL အမှားနံပါတ်ကိုညွှန်ပြသည့်ကိန်းဂဏန်းတန်ဖိုးကိုပြန်ပို့သည်။
နမူနာကုဒ်:
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ကရိယာတန်းဆာ SQL မေးမြန်း
$result = $mysqli->query("SELECT * FROM non_existing_table");
if (!$result) {
echo "MySQL အမှားကုဒ်: " . $mysqli->errno; // 输出အမှားကုဒ်
echo "MySQL အမှားသတင်းစကား: " . $mysqli->error; // output အသေးစိတ်အမှားသတင်းအချက်အလက်
}
?>
ဒီဥပမာမှာ query ပျက်ကွက်မယ်ဆိုရင် $ MySQLI-> ERRNO-> ERRNO-> ERTNO : ERTOBLIENT သည် " TAPLICATION'S" DATOBASE_Existing_table 'DataBase.non_existing_table' Daton_existing_table 'အမှားအယွင်းများမရှိသေးပေ "ဟုဆိုလိုသည်။
MySQLI_STMT :: MySQLI_STMT :: MySQLI :: MySQLI :: MySQLI :: MySQLI :: Errno သည် MySQL အမှားများနှင့်ဆက်စပ်သော်လည်း၎င်းတို့အကြားအရေးကြီးသောကွဲပြားခြားနားမှုများစွာရှိသည်။
MySQLI_STMT :: MySQLI_STMT) အတွက်အမှားအယွင်းများ ( MySQLI_STMT ) နှင့် MySQLI :: MySQLI :: MySQLI :: errno သည် MySQL ဆက်သွယ်မှုအတွက်အမှားကုဒ်ဖြစ်သည်။ MySQLI_STMT :: $ အမှားသည် အမှားအယွင်းတစ်ခုဖြစ်သော error message string ကိုထောက်ပံ့ပေးသည်။ MySQLI :: Errno သည် ပရိုဂရမ်များတွင်နောက်ထပ်အမှားကိုင်တွယ်ဖြေရှင်းခြင်းနှင့်ရောဂါရှာဖွေရေးအတွက်မကြာခဏအသုံးပြုသောအမှားကုဒ်တစ်ခုကိုပြန်ပို့သည်။
MySQLI_STMT :: MySQLI_STMT :: MySQLI_STMT :: MySQLI_STMT:: MySQLI_STMT မှတစ်ဆင့်ကွပ်မျက်ခံရသည့် SQL ထုတ်ပြန်ချက်များနှင့်သက်ဆိုင်သည် ။
MySQLI_STMMT :: MySQLI_STMMT :: MySQLI :: ersqli :: ersqli :: ersqli :: ersqli :: ersqli :: ersqli :: ersqli :: ersqli :: errno တစ်ခုတည်းကိုအသုံးပြုခြင်းသည်သင့်အားပြ the နာကိုရှာဖွေရန်ကူညီနိုင်သည်။
Debugging အကြံပြုချက်များ - MySQLI :: :: errno ကို အရင်စစ်ဆေးနိုင်ပြီး ertsqli_stmt :: MySQLI_STMT :: MySQLI :: MySQLI :: MySQLI :: အမှားအယွင်းများကိုသုံးပါ။ ဒီနှစ်ခုကိုပေါင်းစပ်ပြီးဘယ်အပိုင်းကမှားပြီးသင့်လျော်တဲ့အစီအမံတွေကိုပိုပြီးတိကျစွာဆုံးဖြတ်နိုင်တယ်။
ပေါင်းစပ်အသုံးပြုမှုဥပမာကုဒ်:
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ကရိယာတန်းဆာ SQL မေးမြန်း
$result = $mysqli->query("SELECT * FROM non_existing_table");
if (!$result) {
echo "MySQL အမှားကုဒ်: " . $mysqli->errno . "\n"; // 获取အမှားကုဒ်
echo "MySQL အမှားသတင်းစကား: " . $mysqli->error . "\n"; // 获取详细အမှားသတင်းစကား
}
?>
အထက်ပါကုဒ်တွင် MySQLI :: ERRNO မှတဆင့်အမှားကုဒ်ကိုပထမ ဦး စွာရယူပါ။ ထို့နောက် MySQLI :: အမှား ဖြင့်အသေးစိတ်အချက်အလက်များကိုရယူပါ။ ထိုကဲ့သို့သောပေါင်းစပ်မှုသည် developer များအထူးသဖြင့်အမှားကုဒ်များနှင့်အမှားများကိုတစ် ဦး နှင့်တစ် ဦး ဖြည့်စွက်သည့်အခါပြ problems နာများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိရန်လျင်မြန်စွာရှာဖွေတွေ့ရှိရန်ကူညီနိုင်သည်။
MySQLI_STMM :: MySQLI :: errno သည် database connections များအတွက်အမှားကုဒ်များရရန်အမှားအယွင်းများနှင့်သက်ဆိုင်သည့်အမှားအချက်အလက်များကိုအသုံးပြုရန် ဒေါ်လာအမှားကို အသုံးပြုသည်။
သူတို့တစ် ဦး ချင်းစီသည်ကွဲပြားခြားနားသောအမှားအယွင်းများပုံစံများကိုထောက်ပံ့ပေးသည်။
နှစ်ခုကိုသုံးခြင်းအားဖြင့် MySQL စစ်ဆင်ရေးများကိုပိုမိုထိရောက်စွာ debug လုပ်ပြီးပြ issues နာများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနိုင်သည်။
ဤဂုဏ်သတ္တိများသည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အလွန်အရေးကြီးသော debugging tools များဖြစ်သည်။ သူတို့၏အသုံးပြုမှုကိုကျွမ်းကျင်မှုသည် debugging ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေပြီးဒေတာဘေ့စ်လုပ်ငန်းများ၌အမှားအယွင်းများကိုလျှော့ချနိုင်သည်။