လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDO :: ပြ coor နာများကိုဖြေရှင်းရန်အတွက်အသေးစိတ်အမှားအယွင်းများကို enable လုပ်ပြီးကြည့်ရှုမည်နည်း။

PDO :: ပြ coor နာများကိုဖြေရှင်းရန်အတွက်အသေးစိတ်အမှားအယွင်းများကို enable လုပ်ပြီးကြည့်ရှုမည်နည်း။

M66 2025-06-28

ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP တွင် PDO တွင် PDO ( PHP Data Obserts) ကို အသုံးပြုသည့်အခါ Ext SQL ထုတ်ပြန်ချက်များကိုအသုံးပြုသည့်အခါ Extect Method သည် Method () နည်းလမ်းကိုမကြာခဏအသုံးပြုလေ့ရှိသည် ဤဆောင်းပါးသည် PDO :: EXIT ကို အသုံးပြုသောအခါအသေးစိတ်အမှားအယွင်းများကိုမည်သို့ကြည့်ရှုမည်ကိုရှင်းပြပါမည်။


1 ။ PDO :: EURD ဆိုတာဘာလဲ။

PDO :: Easer point ကို SQL ကြေငြာချက်ကိုလုပ်ဆောင်ပြီးထိခိုက်မည့်အတန်းအရေအတွက်ကိုပြန်လည်ပေးအပ်သည်။ အကယ်. ကွပ်မျက်မှုမအောင်မြင်ပါက၎င်းသည် မှားယွင်းစွာ ပြန်ပို့သည်။ သို့သော်ပုံမှန်အားဖြင့်အမှားအယွင်းများသည်အလိုအလျောက်ထုတ်လွှင့်နိုင်ပြီးအမှားအယွင်းများကိုကိုယ်တိုင်လွှဲပြောင်းရန်လိုအပ်ပြီးအသေးစိတ်အချက်အလက်များကိုရရှိရန်လိုအပ်သည်။

 <?php
$pdo = new PDO('mysql:host=m66.net;dbname=testdb;charset=utf8', 'username', 'password');

$sql = "UPDATE users SET status = 'active' WHERE id = 10";
$result = $pdo->exec($sql);

if ($result === false) {
    echo "Execution မအောင်မြင်ပါ,ဒါပေမယ့်အသေးစိတ်အမှားမက်ဆေ့ခ်ျမရှိပါ。";
} else {
    echo "ဒါဟာထိခိုက်ခဲ့သည် {$result} အိုကေ。";
}
?>

2 ။ အသေးစိတ်အမှားအစီရင်ခံစာကိုဖွင့်ပါ

PDO သည်အမှားအယွင်းအမျိုးမျိုးကိုကိုင်တွယ်သောအမှားအမျိုးမျိုးကိုထောက်ပံ့သည်။ အသုံးအများဆုံးသူမှာ -

  • PDO :: ERRMODEDODE_SILENT : ပုံမှန် mode, အမှားအယွင်းများကိုမပစ်ချပါ။ အမှားကုဒ်များကိုသာမှတ်တမ်းတင်ထားသည်။

  • PDO :: ErrMode_warning : PHP သတိပေးချက်ကိုအစပျိုးပါ။

  • PDO :: ErrMode_Exception : ခြွင်းချက်တစ်ခုပစ်ချသည်။

PDO :: ERRMODEDE_Exception ကို အသုံးပြုရန်ကျွန်ုပ်တို့အကြံပြုပါသည်။

 <?php
try {
    $pdo = new PDO('mysql:host=m66.net;dbname=testdb;charset=utf8', 'username', 'password');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "UPDATE users SET status = 'active' WHERE id = 10";
    $result = $pdo->exec($sql);

    echo "ဒါဟာထိခိုက်ခဲ့သည် {$result} အိုကေ。";

} catch (PDOException $e) {
    echo "执အိုကေ出错: " . $e->getMessage();
}
?>

3 ။ အမှားအယွင်းများကိုကြည့်ပါ

အကယ်. သင်သည်ခြွင်းချက် mode ကိုမသုံးပါကအမှားအယွင်းကိုအောက်ပါနည်းလမ်းများဖြင့်ရှုမြင်နိုင်သည်။

 <?php
$pdo = new PDO('mysql:host=m66.net;dbname=testdb;charset=utf8', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);

$sql = "UPDATE users SET status = 'active' WHERE id = 10";
$result = $pdo->exec($sql);

if ($result === false) {
    $errorInfo = $pdo->errorInfo();
    echo "အမှားကုဒ်: " . $errorInfo[0] . "<br>";
    echo "驱动အမှားကုဒ်: " . $errorInfo[1] . "<br>";
    echo "အမှားသတင်းစကား: " . $errorInfo[2];
} else {
    echo "ဒါဟာထိခိုက်ခဲ့သည် {$result} အိုကေ。";
}
?>

ချို့ယွင်းချက်တစ်ခု () array ကိုပြန်ပို့သည်။

  • [0] SQLSTATE ERRORCH CODEC (Standard ERRONCH COMP)

  • [1] ယာဉ်မောင်းတိကျတဲ့အမှားကုဒ်

  • [2] ယာဉ်မောင်းတိကျစာအမှား


4 ။ လက်တွေ့ကျသောအကြံပြုချက်များ

  • ချွင်းချက်များဖမ်းယူခြင်းနှင့်အမှားများကိုရှာဖွေရန် Debugging Phase PDOugging Phase တွင် PDO :: ErrMode_Exception ကို enable လုပ်ရန်အကြံပြုသည်။

  • ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင် အမှားအယွင်းများကိုအသုံးပြုသူများကိုတိုက်ရိုက်ထုတ်လွှင့်ရန်အတွက်ခြွင်းချက်များကိုရှောင်ရှားပြီးနောက် logging ကိုထည့်သွင်းစဉ်းစားသည်။

  • Database Connection Continue set ကိုမှန်ကန်စွာ Encoding အမှားများကိုရှောင်ရှားရန်မှန်ကန်စွာသတ်မှတ်ထားပါ။

  • SQL Injection ကိုကာကွယ်ရန် Proprocessing ထုတ်ပြန်ချက်များကိုသုံးပါ ( ပြင်ဆင်ရန် + Execute ) ကိုအသုံးပြုပါ။


အထက်ဖော်ပြပါနည်းလမ်းဖြင့် PDE :: PDO :: Excliter ကိုထိရောက်စွာတိုးတက်အောင်လုပ်ခြင်းနှင့်ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိသည့်အခါအသေးစိတ်အချက်အလက်များကိုအလွယ်တကူဖွင့ ်. ကြည့်ရှုနိုင်ပြီးအသေးစိတ်ကြည့်ရှုနိုင်သည်။

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

    PDO