ဒေတာဘေ့စ်စုံစမ်းမှုများသည် 0 က်ဘ်အပလီကေးရှင်းများကိုတီထွင်သောအခါဘုံလိုအပ်ချက်တစ်ခုဖြစ်သည်။ ဒေတာဘေ့စ်မှဒေတာများကိုရယူရန်, ဒေတာအသစ်များထည့်ရန်သို့မဟုတ်ရှိပြီးသားဒေတာများကိုမွမ်းမံရန်ဆိုလျှင် SQL ထုတ်ပြန်ချက်များအသုံးပြုခြင်းသည်မလွှဲမရှောင်သာဖြစ်သည်။ သို့သော်တစ်ခါတစ်ရံဒေတာဘေ့စ်မေးမြန်းချက်များသည်အမှားအယွင်းများ, ဤအချိန်တွင်ဒေတာဘေ့စ်စုံစမ်းမှုအမှားများကိုမှန်ကန်စွာကိုင်တွယ်ရန်နှင့်အသေးစိတ်အမှားအစီရင်ခံစာများကိုမှန်ကန်စွာကိုင်တွယ်ရန်အလွန်အရေးကြီးသည်။
ဤဆောင်းပါးသည် PHP ဒေတာဘေ့စ်ရှာဖွေမှုအမှားများကိုကိုင်တွယ်ရန်နည်းလမ်းများနှင့်ကုဒ်သင်္ကေတများစွာကိုမိတ်ဆက်ပေးလိမ့်မည်။
PHP တွင် Try-catch လုပ်ကွက်များကိုဖမ်းရန်နှင့်ခြွင်းချက်များကိုဖမ်းရန်နှင့်ကိုင်တွယ်ရန်အသုံးပြုသောလုပ်ကွက်များကိုအသုံးပြုခြင်းသည်အမှားအယွင်းများကိုကိုင်တွယ်ခြင်း၏သာမန်နည်းလမ်းဖြစ်သည်။ ဒေတာဘေ့စ်စုံစမ်းမှုအမှားများအတွက်သင်သည်ကြိုးစားမှုပိတ်ဆို့ခြင်းတွင်စုံစမ်းမှုစစ်ဆင်ရေးများကိုလုပ်ဆောင်နိုင်ပြီးဖမ်းယူပိတ်ပင်တားဆီးမှုနှင့် output နှင့်သက်ဆိုင်သောအမှားအချက်အလက်များတွင်ချွင်းချက်များကိုဖမ်းယူနိုင်သည်။
try {
// ဒေတာဘေ့စစုံစမ်းရေးစစ်ဆင်ရေး
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
// လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ...
} catch (Exception $e) {
// Hault အမှားအယွင်းများကိုကိုင်တွယ်ပါ
echo "ဒေတာဘေ့စ်စုံစမ်းမှုအမှား:" . $e->getMessage();
}
MySQLI_ERROR () function သည်နောက်ဆုံးဒေတာဘေ့စ်စစ်ဆင်ရေးကြောင့်ဖြစ်ပေါ်သောအမှားအယွင်းကိုပြန်ပေးနိုင်သည်။ စုံစမ်းမှုစစ်ဆင်ရေးမအောင်မြင်ပါကဤလုပ်ဆောင်မှုကိုဖုန်းဆက်သောအခါဒေတာဘေ့စ်စုံစမ်းမှု၏အသေးစိတ်အမှားအချက်အလက်များကိုရယူနိုင်သည်။
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
// ရှာဖွေမှုရလဒ်များကိုစစ်ဆေးပါ
if (!$result) {
// query အမှားမက်ဆေ့ခ်ျကိုရယူပါ
$error = mysqli_error($mysqli);
// Hault အမှားအယွင်းများကိုကိုင်တွယ်ပါ
echo "ဒေတာဘေ့စ်စုံစမ်းမှုအမှား:" . $error;
} else {
// လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ...
}
ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PDO (PHP ဒေတာအရာဝတ်ထုအရာဝတ်ထုများကိုသုံးပါကဒေတာဘေ့စ်စုံစမ်းမှုအမှားများကိုဖမ်းယူရန် PDO ၏ချွင်းချက်ကိုင်တွယ်သည့်ယန္တရားကိုသင်အသုံးပြုနိုင်သည်။
try {
// ဖန်တီးPDOနမူနာ
$pdo = new PDO("mysql:host=localhost;dbname=mydb", "username", "password");
// Error Mode ကိုခြွင်းချက် mode ကိုသတ်မှတ်ပါ
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 执行ဒေတာဘေ့စစုံစမ်းရေးစစ်ဆင်ရေး
$stmt = $pdo->query("SELECT * FROM users");
// လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ...
} catch (PDOException $e) {
// Hault အမှားအယွင်းများကိုကိုင်တွယ်ပါ
echo "ဒေတာဘေ့စ်စုံစမ်းမှုအမှား:" . $e->getMessage();
}
အထက်ပါနည်းလမ်းများမှတစ်ဆင့် PHP ဒေတာဘေ့စ်အမှားများကိုထိရောက်စွာကိုင်တွယ်နိုင်ပြီးသတင်းအချက်အလက်များကိုအစီရင်ခံရန်အချက်အလက်များထုတ်ပေးနိုင်သည်။ MySQLI_ERRORRORR () function ကို သုံး. PDO ၏ခြွင်းချက်ကိုင်တွယ်သည့်ယန္တရားကို အသုံးပြု. ခြွင်းချက်များဖြင့်ခြွင်းချက်များကိုဖမ်းမိသည်ဖြစ်စေ,