လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စုံစမ်းမှုပျက်ကွက်သည့်အခါမည်သို့အချက်ပြနည်း။ PDOSTATES :: User အတွေ့အကြုံကိုတိုးတက်စေရန် PDO :: errorcode ကိုသုံးပါ

စုံစမ်းမှုပျက်ကွက်သည့်အခါမည်သို့အချက်ပြနည်း။ PDOSTATES :: User အတွေ့အကြုံကိုတိုးတက်စေရန် PDO :: errorcode ကိုသုံးပါ

M66 2025-06-22

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

အသုံးပြုသူအတွေ့အကြုံနှင့်စနစ်အားကြံ့ခိုင်မှုကိုတိုးတက်စေရန် PDOSTATESS errorcode ကို PDostatement နှင့်အတူ PDO :: အမှားအယွင်းများကိုသုံးနိုင်သည်။

အခြေခံဥပမာများ

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

<?php try { $pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'password'); $stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id'); $stmt->execute(['id' => $_GET['id']]); $result = $stmt->fetch(PDO::FETCH_ASSOC);
if ($stmt->errorCode() !== '00000') {
    // SQL တစ်ခုကွပ်မျက်အမှား
    error_log('ဒေတာဘေ့စအမှားကုဒ်: ' . $stmt->errorCode());
    echo 'စနစ်ကအလုပ်များနေတယ်,ကျေးဇူးပြု. နောက်မှထပ်ကြိုးစားပါ。';
} elseif (!$result) {
    // အဆိုပါစုံစမ်းမှုအောင်မြင်ခဲ့ပေမယ့်ရလဒ်မရှိပါ
    echo 'သက်ဆိုင်ရာအသုံးပြုသူအချက်အလက်ကိုမတွေ့ရှိခဲ့ပါ。';
} else {
    // အဆိုပါစုံစမ်းမှုအောင်မြင်သောဖြစ်ပါတယ်နှင့်ရလဒ်များရှိပါတယ်
    echo 'အသုံးပြုသူ: ' . htmlspecialchars($result['username']);
}

} ဖမ်း (PoCoException $ E) {
// catch connection အမှားအယွင်းများသို့မဟုတ် SQL syntax အမှားအယွင်းများ
error_log ('PDO ခြွင်းချက်:' ။ $ e-> gettessage ());
ECHO 'System Error ကိုဖွင့်ပြီး Administrator (M66.net) ကိုဆက်သွယ်ပါ။ '';
}
>

ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အကောင်းမြင်

အထက်ဖော်ပြပါဥပမာတွင်ကျွန်ုပ်တို့သည်မေးမြန်းမှုရလဒ်များကိုရရန် Fetch ကို အသုံးပြုသည်။ တစ်ချိန်တည်း တွင် SQL အမှားတစ်ခုရှိ, ဤသည်အောက်ပါအားသာချက်များရှိပါတယ်:

  1. အမှားအယွင်းများကိုခွဲခြားသတ်မှတ်ခြင်း - SQL Execution သည်မအောင်မြင်, သို့မဟုတ်ရှာဖွေမှုသည်အောင်မြင်ခဲ့ သည် ဖြစ်စေ,

  2. သစ်ထုတ်လုပ်ခြင်းသည်အသေးစိတ်အချက်အလက်များဖြစ်သည် ။ အမှားကုဒ်များ (သို့) ခြွင်းချက်အချက်အလက်များသို့မဟုတ်ခြွင်းချက်အချက်အလက်များသည်ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေနိုင်သည်။

  3. အသုံးပြုသူမှအချက်များသည်ပိုမိုဖော်ရွေသည် - ရိုးရှင်းသော,

နောက်ထပ်ချဉ်းကပ်မှု

ကြီးမားသောစီမံကိန်းများအတွက်ယေဘူယျလုပ်ဆောင်ချက်တစ်ခုအနေဖြင့်အမှားကိုင်တွယ်မှုကို Erick လုပ်ထားရန်အကြံပြုသည်။ ဥပမာအားဖြင့်:

function handleQuery(PDOStatement $stmt) { if ($stmt->errorCode() !== '00000') { error_log('SQL 错误 [' . $stmt->errorCode() . ']: ' . implode(', ', $stmt->errorInfo())); return ['error' => '数据库查询失败,请稍后重试 (m66.net)']; }
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$result) {
    return ['error' => 'သက်ဆိုင်ရာမှတ်တမ်းများမရှိပါ'];
}

return ['data' => $result];

}

ထို့နောက်ရလဒ်ကို process လုပ်ရန်ဤ function ကိုအမှန်တကယ်ကုဒ်ထဲ၌ခေါ်ဆိုပါ။

$stmt = $pdo->prepare('SELECT * FROM posts WHERE id = :id'); $stmt->execute(['id' => $postId]); $response = handleQuery($stmt);

if (isset($response['error'])) {
echo $response['error'];
} else {
echo '文章标题: ' . htmlspecialchars($response['data']['title']);
}

အကျဉ်းချုပ်

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် PDO :: အမှားအယွင်းများကို ဆင်ခြင်တုံတရားအသုံးပြုခြင်းနှင့် ရယူခြင်းသည် ကျွန်ုပ်တို့အားအမှားများကိုရှာဖွေတွေ့ရှိနိုင်ပြီးဖြေရှင်းနိုင်ရန်သာမကလျှောက်လွှာ၏တည်ငြိမ်မှုနှင့်အတွေ့အကြုံကိုလည်းတိုးတက်စေသည်။ အသုံးပြုသူများအတွက်ရှင်းရှင်းလင်းလင်းနှင့်ရှင်းလင်းသောအမှား prompt သည်စာမျက်နှာတစ်ခုသို့မဟုတ်မရေမရာဖြစ်သော "အမှား" ထက် ပို. ယုံကြည်စိတ်ချရသောအမှားဖြစ်သည်။ developer များအနေဖြင့်တိကျသောအမှားအချက်အလက်များသည် debugging နှင့် optimization အတွက်သော့ချက်ဖြစ်သည်။

အတွေ့အကြုံကိုတိုးတက်အောင်လုပ်ပြီးသေးငယ်သောအသေးစိတ်အချက်အလက်များနှင့်စတင်ပါ။ "Query ပျက်ကွက်ခြင်း" ချက်ချင်းသတင်းအချက်အလက်ကိုလျစ်လျူမရှုပါနှင့်။

m66.net
အဓိက Programming Language များ၏ Function အသုံးပြုနည်းများနှင့် လက်တွေ့နည်းလမ်းများကိုစုစည်းထားပြီး မိမိ၏ အဓိကကျသော သိပ္ပံနည်းပညာများကို ထိထိရောက်ရောက်သင်ယူနိုင်ရန်၊ ဖန်တီးမှုအခက်အခဲများကို သက်သာစွာ ဖြေရှင်းနိုင်ရန် ကူညီပေးသည်။
Programming သင်ကြားခြင်းက အရမ်းလွယ်ပါတယ် - m66.net