ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP ကိုအသုံးပြုသောအခါ MySQLI extension မှတဆင့် MySQL ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်လေ့ရှိသည်။ MySQL သည် ကြွယ်ဝသောအင်္ဂါရပ်များကိုပေးသည်။ အသုံးပြုသော attribute များထဲမှတစ်ခုမှာ database စစ်ဆင်ရေးအတွက်အမှားကုဒ်ကိုကိုယ်စားပြုသော errno ဖြစ်သည်။ အကယ်. MySQLI :: $ errno 0 င်ပြန်ရောက်သည်ဆိုပါကများသောအားဖြင့်အမှားအယွင်းမရှိပါ။ သို့သော်ပြန်လာ 0 ယ်ခြင်းသည်ဒေတာဘေ့စ်လည်ပတ်မှုနှင့်ပြ problem နာမရှိပါဟုဆိုလိုပါသလား။ ဤဆောင်းပါးသည်ဤပြ issue နာကိုအသေးစိတ်ဆွေးနွေးပါမည်။
PHP တွင် MySQLI :: $ errno သည် MySQLI အရာဝတ်ထု၏ပိုင်ဆိုင်မှုဖြစ်ပြီးနောက်ဆုံးဒေတာဘေ့စ်၏အမှားကုဒ်ကိုပြန်ပို့သည်။ အထူးသဖြင့်:
အကယ်. စစ်ဆင်ရေးအောင်မြင်မှုရှိပါကအမှားအယွင်းများမရှိပါက errno ၏တန်ဖိုးသည် 0 ဖြစ်လိမ့်မည်။
အကယ်. စစ်ဆင်ရေးမအောင်မြင်ပါက Errno သည် သုည error error code ကိုပြန်ပို့သည်။ အသေးစိတ်အမှားအချက်အလက်များရရန် MySQLI :: $ error attribute ကိုသုံးနိုင်သည်။
Code Perfection:
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
if ($mysqli->errno) {
echo "အမှားအမှား: " . $mysqli->error;
} else {
echo "အောင်မြင်သောစုံစမ်းမှု!";
}
?>
ဒီဥပမာမှာ query ဟာအောင်မြင်ခဲ့တယ်ဆိုရင် $ MySQLI-> ERRNO-> ERRNO- > ersqli-> ersqli- > ersqli-> errno သည် အမှားအယွင်းများနှင့်ပတ်သက်သောအချက်အလက်များပြန်ပို့ပေးလိမ့်မည်။
MySQLI :: $ errno သည် 0 င်သည်ဖြစ်ပြီးဒေတာဘေ့စ်လည်ပတ်မှုတွင်အမှားအယွင်းများမရှိဟုဆိုလိုသည်။ errno ပြန်လာရင်တောင်မှပြ problem နာရှိနေဆဲဖြစ်ရပ်တစ်ခုရှိနေဆဲဖြစ်နိုင်သည့်အခြေအနေအချို့ကိုဤတွင်ဖော်ပြထားသည်။
ဒေတာဘေ့စ် connection သည်အောင်မြင်သော်လည်းစုံစမ်းမှု SQL ကြေငြာချက်သည်ယုတ္တိနည်းသည်ယုတ္တိနည်းသည်မှားနိုင်သည်။ ဥပမာအားဖြင့်, query table ကိုမတည်ရှိပါဘူးသို့မဟုတ်ပြန်လာရလဒ်ကဗလာဖြစ်ပါတယ်။
ဥပမာ -
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
$query = "SELECT * FROM non_existent_table"; // မတည်ရှိသည့်ဇယားတစ်ခုမေးမြန်းခြင်း
$result = $mysqli->query($query);
if ($mysqli->errno) {
echo "အမှားအမှား: " . $mysqli->error;
} else {
if ($result->num_rows == 0) {
echo "ရှာမတွေ့ပါ!";
} else {
echo "အောင်မြင်သောစုံစမ်းမှု!";
}
}
?>
ဤဥပမာတွင် MySQLI :: errno :: errno ပြန်လာပေမယ့် er errno ပြန်လာပေမယ့် query table ကိုမတည်ရှိပါဘူး, ဒါကြောင့်ဒေတာတကယ်ရှာမတွေ့ပါ။ အမှားကုဒ်မရှိပါကယုတ္တိဗေဒပြ problem နာရှိနေဆဲဖြစ်သည်။
MySQL extension သည်သတိပေးစကားအချို့ကိုထုတ်ပေးသည်, သို့သော်ဤသတိပေးချက်များကို Errno မှသိမ်းဆည်းထားခြင်းမရှိပါ။ ဆိုလိုသည်မှာအချို့သောသတိပေးချက်များရှိလျှင်ပင် errno သည် 0 ဖြစ်ဆဲဖြစ်နိုင်သည်။
ဥပမာအားဖြင့်အချို့သောမေးမြန်းချက်များကိုကွပ်မျက်ခံရသောအခါ MySQL သည်အမှားတစ်ခုအစားသတိပေးချက်တစ်ခုထုတ်ပေးနိုင်သည်။ အကယ်. ၎င်းသည်သတိပေးချက်တစ်ခုသာပါက Errno သည် 0 င်နေဆဲဖြစ်သော်လည်း MySQL သည်သတိပေးချက်တစ်ခုပြန်ပို့လျှင်သင်သတိထားသင့်သည်။
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
exit();
}
$query = "SELECT id FROM users LIMIT 10"; // ယူဆချက် users စားပွဲပေါ်မှာရှိပါတယ် id လယ်ကွင်း,သို့သော်အချို့သောအချက်အလက်များပျောက်ဆုံးနေသည်
$result = $mysqli->query($query);
if ($mysqli->errno) {
echo "အမှားအမှား: " . $mysqli->error;
} else {
echo "အောင်မြင်သောစုံစမ်းမှု!";
// သတိပေးချက်ရှိရင်,လွန်နိုင်ပါတယ် `mysqli::$warnings` စစ်ဆေး
$warnings = $mysqli->warnings;
if ($warnings) {
echo "သတိပေးစာ: " . $warnings->message;
}
}
?>
MySQLI :: $ errno ပြန်လာသော 0 0 သည်များသောအားဖြင့်အမှားအယွင်းများကိုဆိုလိုသည်။ ဒေတာဘေ့စ်လည်ပတ်မှု၏သမာဓိကိုသေချာစေရန်အောက်ပါအစီအမံများကိုပြုလုပ်နိုင်သည်။
အမှားကုဒ်မရှိပါကပင်စုံစမ်းမှုသည်မျှော်လင့်ထားသည့်ရလဒ်ကိုပြန်ပို့ခြင်းရှိမရှိစစ်ဆေးပါ။ ဥပမာအားဖြင့် Select စုံစမ်းမှုသည်ဒေတာများကိုပြန်လည်ပေးပို့ရန် MySQLI :: Numrowrows ကို စစ်ဆေးနိုင်သည်။
MySQLI ::-$ သတိပေးချက်များကို စစ်ဆေးခြင်းအားဖြင့်သင်သည်အလားအလာရှိသောပြ issues နာများပျောက်ဆုံးနေသည်ကိုသေချာစေရန်အတွက်အလားအလာရှိသောသတိပေးချက်များကိုသင်ဖမ်းယူနိုင်သည်။
MySQLI သည် ခြွင်းချက်များကိုသူ့ဟာသူမချထားပါ။ အမှားအယွင်းများကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်ရန် MySQLI_REPOREPORE (MySQLI_REPORT_SPORTICT) ကို setting လုပ်ခြင်းဖြင့်ခြွင်းချက်များကိုချမှတ်နိုင်သည်။
ဥပမာ -
<?php
mysqli_report(MYSQLI_REPORT_STRICT);
try {
$mysqli = new mysqli("localhost", "user", "password", "database");
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
// လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
} catch (mysqli_sql_exception $e) {
echo "အမီလိုက်ခြွင်းချက်: " . $e->getMessage();
}
?>
ဤနည်းအားဖြင့်သင်သည်ချွင်းချက်များကိုဖမ်းယူနိုင်ပြီးဒေတာဘေ့စ်စစ်ဆင်ရေးပျက်ကွက်သည့်အချိန်နှင့်အညီ၎င်းတို့ကိုလုပ်ဆောင်နိုင်သည်။
MySQLI :: $ errno ပြန်လာသည် Database စစ်ဆင်ရေးအဆင့်တွင်အမှားမရှိပါကဒေတာဘေ့စ်စစ်ဆင်ရေးသည်လုံးဝပြ problems နာများနှင့်လုံးဝမသက်ဆိုင်ကြောင်းမဆိုလိုပါ။ ဒေတာဘေ့စ်လုပ်ငန်းများ၏မှန်ကန်မှုကိုသေချာစေရန် developer များသည်စုံစမ်းမှုရလဒ်များမှန်ကန်မှု, ဒေတာဘေ့စ်စစ်ဆင်ရေးများအပေါ်ယုံကြည်စိတ်ချရမှုနှင့်ကြံ့ခိုင်မှုကိုပြည့်စုံသောနည်းဖြင့်ဤအချက်များကိုစဉ်း စား. သာလျှင်ဤအချက်များကိုသာစဉ်းစားနိုင်သည်။