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

PHP ဒေတာဘေ့စ်အမှားများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။ မှန်ကန်သောအမှားအယွင်းများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း

M66 2025-06-13

PHP ဒေတာဘေ့စ်အမှားများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။ မှန်ကန်သောအမှားအယွင်းများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း

ဒေတာဘေ့စ်စုံစမ်းမှုများသည် 0 က်ဘ်အပလီကေးရှင်းများကိုတီထွင်သောအခါဘုံလိုအပ်ချက်တစ်ခုဖြစ်သည်။ ဒေတာဘေ့စ်မှဒေတာများကိုရယူရန်, ဒေတာအသစ်များထည့်ရန်သို့မဟုတ်ရှိပြီးသားဒေတာများကိုမွမ်းမံရန်ဆိုလျှင် SQL ထုတ်ပြန်ချက်များအသုံးပြုခြင်းသည်မလွှဲမရှောင်သာဖြစ်သည်။ သို့သော်တစ်ခါတစ်ရံဒေတာဘေ့စ်မေးမြန်းချက်များသည်အမှားအယွင်းများ, ဤအချိန်တွင်ဒေတာဘေ့စ်စုံစမ်းမှုအမှားများကိုမှန်ကန်စွာကိုင်တွယ်ရန်နှင့်အသေးစိတ်အမှားအစီရင်ခံစာများကိုမှန်ကန်စွာကိုင်တွယ်ရန်အလွန်အရေးကြီးသည်။

ဤဆောင်းပါးသည် PHP ဒေတာဘေ့စ်ရှာဖွေမှုအမှားများကိုကိုင်တွယ်ရန်နည်းလမ်းများနှင့်ကုဒ်သင်္ကေတများစွာကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ ခြွင်းချက်များကိုကိုင်တွယ်ရန် Two-Catch Block ကိုသုံးပါ

PHP တွင် Try-catch လုပ်ကွက်များကိုဖမ်းရန်နှင့်ခြွင်းချက်များကိုဖမ်းရန်နှင့်ကိုင်တွယ်ရန်အသုံးပြုသောလုပ်ကွက်များကိုအသုံးပြုခြင်းသည်အမှားအယွင်းများကိုကိုင်တွယ်ခြင်း၏သာမန်နည်းလမ်းဖြစ်သည်။ ဒေတာဘေ့စ်စုံစမ်းမှုအမှားများအတွက်သင်သည်ကြိုးစားမှုပိတ်ဆို့ခြင်းတွင်စုံစမ်းမှုစစ်ဆင်ရေးများကိုလုပ်ဆောင်နိုင်ပြီးဖမ်းယူပိတ်ပင်တားဆီးမှုနှင့် output နှင့်သက်ဆိုင်သောအမှားအချက်အလက်များတွင်ချွင်းချက်များကိုဖမ်းယူနိုင်သည်။

 
try {
  // ဒေတာဘေ့စစုံစမ်းရေးစစ်ဆင်ရေး
  $query = "SELECT * FROM users";
  $result = $mysqli->query($query);
  // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ...
} catch (Exception $e) {
  // Hault အမှားအယွင်းများကိုကိုင်တွယ်ပါ
  echo "ဒေတာဘေ့စ်စုံစမ်းမှုအမှား:" . $e->getMessage();
}
  

2 ။ MySQLI_ERRORRORRORR () function ကိုသုံးပါအမှားအယွင်းများကိုထုတ်လုပ်ရန်

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

 
$query = "SELECT * FROM users";
$result = $mysqli->query($query);

// ရှာဖွေမှုရလဒ်များကိုစစ်ဆေးပါ
if (!$result) {
  // query အမှားမက်ဆေ့ခ်ျကိုရယူပါ
  $error = mysqli_error($mysqli);
  // Hault အမှားအယွင်းများကိုကိုင်တွယ်ပါ
  echo "ဒေတာဘေ့စ်စုံစမ်းမှုအမှား:" . $error;
} else {
  // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ...
}
  

3 ။ PDO ခြွင်းချက်ကိုင်တွယ်ယန္တရားကိုအသုံးပြုပါ

ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် 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 ၏ခြွင်းချက်ကိုင်တွယ်သည့်ယန္တရားကို အသုံးပြု. ခြွင်းချက်များဖြင့်ခြွင်းချက်များကိုဖမ်းမိသည်ဖြစ်စေ,