လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDO ၏အမှားအယွင်းများကိုပြုပြင်ရန် PDORCODED နှင့် PDO :: pdocode function ကိုမည်သို့အသုံးပြုရမည်နည်း။

PDO ၏အမှားအယွင်းများကိုပြုပြင်ရန် PDORCODED နှင့် PDO :: pdocode function ကိုမည်သို့အသုံးပြုရမည်နည်း။

M66 2025-06-22

PHP တွင် PDO (PHP Data Obserts) ကိုဒေတာဘေ့စ်လုပ်ငန်းများအတွက်အသုံးပြုသည့်အခါအကျိုးသင့်အကြောင်းသင့်ရှိသောအမှားကိုင်တွယ်သည့်ယန္တရားသည်အစီအစဉ်တည်ငြိမ်မှုနှင့် debugging စွမ်းဆောင်ရည်ကိုသေချာစေရန်အတွက်အရေးကြီးသောအမှားအယွင်းတစ်ခုဖြစ်သည်။ PDO သည် developer များအား developer များအားအမှားအယွင်းများနှင့်ကွဲပြားသောအမှားများကိုပိုမိုပြောင်းလွယ်ပြင်သောကိုင်တွယ်ရန်ကူညီနိုင်သည့်အမှားအယွင်းအမျိုးမျိုးကိုထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် PDO ၏အမှားအယွင်းများ နှင့် PDO :: PDO ၏အမှားအယွင်းများကိုပိုမိုထိရောက်သောအမှားစီမံခန့်ခွဲမှုရရှိရန် PDO ၏အမှားကိုင်တွယ်မှုပုံစံကိုထိန်းညှိရန်အာရုံစူးစိုက်ပါလိမ့်မည်။

1 ။ နိဒါန်း PDO အမှားကိုင်တွယ် mode ကိုမိတ်ဆက်

PDO ၏ပုံသေအမှားအယွင်း - PDO :: ErrMode_silent ဖြစ်သည်။ အမှားတစ်ခုဖြစ်ပေါ်သည့်အခါမည်သည့်ခြွင်းချက်မျှမချွေဒိတ်ချထားပြီး, ဤပုံစံသည်မှားယွင်းသောအမှားသတင်းအချက်အလက်များကိုဖော်ထုတ်ခြင်းမှရှောင်ရှားနိုင်သော်လည်းဖွံ့ဖြိုးရေးအဆင့်တွင် debugging သည်အလွန်အဆင်မပြေပါ။ ဤပြ problem နာကိုဖြေရှင်းရန် PDO သည်အဓိကအမှားသုံးခုကိုကိုင်တွယ်သောနည်းလမ်းသုံးခုကိုပေးသည်။

  • PDO :: ErrMode_silent : ပုံမှန်သည်အသံတိတ် mode တစ်ခုဖြစ်ပြီးခြွင်းချက်အဘယ်သူမျှမအမှားမက်ဆေ့ခ်ျကိုထုတ်ပစ်ပါဘူး။

  • PDO :: ErrMode_warning : အမှားတစ်ခုဖြစ်ပေါ်လာတဲ့အခါ PHP သတိပေးချက်ထုတ်ပြန်လိမ့်မယ်။

  • PDO :: ErrMode_Exception : အမှားတစ်ခုဖြစ်ပွားသည့်အခါ PoException ခြွင်းချက်ကိုပစ်ချသည်။

PDO :: Setattribute method မှတဆင့် developer များက developer များကသင့်တော်သောအမှားကိုင်တွယ်ပုံကိုကိုင်တွယ်နိုင်သည်။

2 ။ PDO :: setatribute ကို အသုံးပြုပါ

PDO :: setattratery သည် PDO ဖြစ်ရပ်များ၏ဂုဏ်သတ္တိများကိုသတ်မှတ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့်အရေးကြီးသည့် attribute များထဲမှတစ်ခုဖြစ်သော PDO ၏အပြုအမူကိုကျွန်ုပ်တို့ထိန်းချုပ်နိုင်သည် ၎င်းသည်အမှားကိုင်တွယ်သည့် mode ကိုသတ်မှတ်ရန်အသုံးပြုသည်။

 <?php
// ဖန်တီးPDOကန့်ကွက်
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';
$options = array(
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // ချွင်းချက်မှအမှား mode ကိုသတ်မှတ်ပါ
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // ပုံမှန်ဝယ်ယူ mode ကိုသတ်မှတ်ပါ
);

try {
    $pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
    echo 'ဆက်သွယ်မှုမအောင်မြင်ပါ: ' . $e->getMessage();
}
?>

ဤဥပမာတွင် PDO :: Atto :: PDO :: PDO :: PDODO :: Ergomode_Exception သည်ဒေတာဘေ့စ်စစ်ဆင်ရေးတွင်အမှားအယွင်းတစ်ခုဖြစ်သည့်အခါတွင်ချွင်းချက်ချနိုင်ပြီး၎င်းကိုအနေဖြင့်ချွင်းချက်ဖြင့်ကိုင်တွယ်နိုင်သည့်အခါချွင်းချက်ချနိုင်သည်။

3 ။ PDE :: အမှားကုဒ်ကိုရယူပါ PDO :: အမှားအယွင်းများကို သုံးပါ

PDO :: errorcode method ကိုယခင်ဒေတာဘေ့စ်စစ်ဆင်ရေး၏အမှားကုဒ်ကိုအသုံးပြုရန်အသုံးပြုသည်။ ဤနည်းလမ်းသည်ဒေတာဘေ့စ် driver-screen error error code ကိုပြန်လည်ရောက်ရှိစေပြီး developer များအမှားအယွင်းများဖြစ်ပေါ်သည့်အခါအမှားအမျိုးအစားကိုဆုံးဖြတ်ရန်ကူညီနိုင်သည်။

 <?php
// ယူဆချက်PDOကန့်ကွက်已经ဖန်တီး并进行数据库操作
$query = $pdo->query('SELECT * FROM non_existent_table');
if ($query === false) {
    $errorCode = $pdo->errorCode();
    echo "အမှားကုဒ်: " . $errorCode;  // 输出အမှားကုဒ်
}
?>

ဤဥပမာတွင်စုံစမ်းမှုကြေငြာချက်သည်မတည်ရှိသောစားပွဲတစ်ခုကိုရယူရန်ကြိုးစားသည်။ အကယ်. မေးမြန်းမှုမအောင်မြင်ပါက $ pdo-> errorcode () သည် သက်ဆိုင်ရာအမှားကုဒ်ကိုပြန်ပေးလိမ့်မည်။

4 ။ PDO :: setattribute နှင့် pdo :: pdocode ကို သုံးပါ

PDO :: setatrute and pdo :: အမှားအယွင်းများကို ပေါင်းစပ်ခြင်းအားဖြင့် developer များကချွင်းချက်များကိုဖမ်းယူနိုင်ပြီးအမှားတစ်ခုဖြစ်ပေါ်သည့်အခါအမှားအယွင်းများဖြစ်ပေါ်သည့်အခါအမှားအမှားများကိုရယူနိုင်ရန်,

 <?php
// ဖန်တီးPDOကန့်ကွက်,ခြွင်းချက်တစ်ခုပစ်ရန်အမှားအယွင်းကိုသတ်မှတ်ပါ
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

try {
    $query = $pdo->query('SELECT * FROM non_existent_table');
} catch (PDOException $e) {
    // ခြွင်းချက်တစ်ခုဖမ်းမိသောအခါ,output အသေးစိတ်အမှားမက်ဆေ့ခ်ျကို
    echo "အမီလိုက်ခြွင်းချက်: " . $e->getMessage();
    // အသုံးပြုerrorCode获取အမှားကုဒ်
    $errorCode = $pdo->errorCode();
    echo " အမှားကုဒ်: " . $errorCode;
}
?>

ဤနည်းအားဖြင့် developer များကပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်အတွက်အသေးစိတ်အမှားအချက်အလက်များကိုရှာဖွေရန် PDO မှ ပစ်ချခြင်း ဖြင့်ချွင်းချက်များကို အသုံးပြု. PDO :: အမှားအယွင်းများကိုပိုမိုရှာဖွေရန် PDO :: အမှားအယွင်းများကို အသုံးပြုသည်။

5 ။ နိဂုံးချုပ်

ဆင်ခြင်တုံတရား :: setattribute and pdocode ကို အသုံးပြု. ဆင်ခြင်တုံတရားဖြင့်အသုံးပြုခြင်းသည်ဒေတာဘေ့စ်စစ်ဆင်ရေးကိုအားဖြည့်တင်းရန်အတွက် PDO ၏အမှားအယွင်းများကိုထိရောက်စွာချိန်ညှိနိုင်သည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်ကျွန်ုပ်တို့သည် PDO :: ErrMode_Exception ကို အသုံးပြု. အမှားတစ်ခုဖြစ်သည့်အချိန်၌ခြွင်းချက်များကိုဖမ်းမိနိုင်အောင်ကိုင်တွယ်နိုင်ရန်အတွက် PDO :: ErrMode_Exception ကိုအသုံးပြုလေ့ရှိသည်။ ဖွံ့ဖြိုးရေးအဆင့်တွင်နေစဉ်၎င်းကို PDO :: ErrMode_WARNNING သို့သတ်မှတ်နိုင်သည်။ Errorcode Method နှင့်ပေါင်းစပ်ထားသော developer များကတိကျသောအမှားကုဒ်များကိုတိကျစွာရရှိနိုင်ပါသည်။

ပြောင်းလွယ်ပြင်လွယ်အမှားအယွင်းများနှင့်အမှားကုဒ်ဝယ်ယူမှုမှတစ်ဆင့် PDO ဒေတာဘေ့စ်လုပ်ငန်းများ၏အမှားအချက်အလက်များကိုပိုမိုနားလည်သဘောပေါက်နိုင်ပြီးဒေတာဘေ့စ်လုပ်ငန်းများအားပိုမိုလုံခြုံမှုနှင့်ယုံကြည်စိတ်ချရသောအမှားများကိုပိုမိုနားလည်နိုင်သည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    PDO errorCode