လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_STMMT :: $ အမှားအယွင်းကို အသုံးပြု. ထိရောက်သော debugging လုပ်ငန်းစဉ်

MySQLI_STMMT :: $ အမှားအယွင်းကို အသုံးပြု. ထိရောက်သော debugging လုပ်ငန်းစဉ်

gitbox 2025-05-19

1 ။ အသေးစိတ် sql အမှားမက်ဆေ့ခ်ျများကိုဖမ်းယူ

MySQLI_STMT :: $ error property ကိုစစ်ဆေးခြင်းအားဖြင့်သင်သည် SQL Execution ပျက်ကွက်မှုအတွက်တိကျသောအကြောင်းပြချက်ကိုသင်ရနိုင်သည်။ ပိုမိုကောင်းမွန်သောဖမ်းယူရန် MySQLI_STMMT :: errno နှင့် တွဲဖက်. ၎င်းကိုအသုံးပြုသင့်သည်။ Errno သည် အမှားကုဒ်ကိုပြန်ပို့သည်။ အမှား၏အသေးစိတ်အချက်အလက်များကို အမှား ပြန်ပို့သည်။

 $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);

if (!$stmt->execute()) {
    echo "Error Code: " . $stmt->errno . "<br>";
    echo "Error Message: " . $stmt->error . "<br>";
}

2 ။ SQL syntax ကိုကြိုတင်စစ်ဆေးပါ

ဖွံ့ဖြိုးတိုးတက်မှုကာလအတွင်းဒေတာဘေ့စ်လုပ်ငန်းများပျက်ကွက်မှုများသည် SQL Syntax အမှားများကြောင့်မကြာခဏဖြစ်သည်။ ကျွန်ုပ်တို့သည်အပြည့်အဝအမှားအချက်အလက်များကိုထုတ်ယူခြင်းအားဖြင့်ပြ problem နာကိုလျင်မြန်စွာရှာဖွေနိုင်သည်။ "အမည်မသိကော်လံ" သို့မဟုတ် "syntax error error error error" နှင့်ဆင်တူသည့်အမှားသတင်းစကားပေါ်လာပါက SQL ကြေညာချက်ကိုယ်တိုင်နှင့်ပြ a နာတစ်ခုရှိသည်ဟုဆိုလိုသည်။

 $stmt = $mysqli->prepare("SELECT * FROM non_existent_table WHERE id = ?");
if (!$stmt->execute()) {
    echo "Error Message: " . $stmt->error . "<br>"; // ပြန်လာသင့်တယ် SQL အမှားသတင်းစကား
}

3 ။ MySQLI :: RESSARE_MODE ကို သုံးပါ

MySQLI_REPORE (MySQLI_REPORD_ERRORER) ကိုသတ်မှတ်ခြင်းဖြင့် MySQLI ကိုဒေတာဘေ့စ်စစ်ဆင်ရေးအမှားများဖြစ်ပေါ်သည့်အခါချွင်းချက်ချနိုင်သည်။ ၎င်းသည် developer များပြ problems နာများကိုလျင်မြန်စွာဖော်ထုတ်နိုင်အောင်ကူညီနိုင်သည့်နောက်ထပ်တိုက်ရိုက် debugging နည်းလမ်းဖြစ်သည်။

 mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "user", "password", "database");

$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();  // ခြွင်းချက်တစ်ခုဒီမှာပစ်ချလိမ့်မည်

ခြွင်းချက်သည် SQL error code, အမှားသတင်းအချက်အလက်နှင့် SQL ကြေညာချက်ကိုယ်တိုင်အပါအ 0 င်အသေးစိတ်အချက်အလက်များကိုအသေးစိတ်ဖော်ပြထားသည်။

MySQLI_STMT :: URL ကိုအစားထိုးရန် $ အမှား နှင့် gitbox.net ကို သုံးပါ

အကယ်. သင်ခန်းစာခေါ်ယူခြင်းသို့မဟုတ် HTTP တောင်းဆိုမှုများမှတစ်ဆင့်ဒေတာများကိုရယူခြင်းကဲ့သို့သောပြင်ပ URLs များနှင့်အပြန်အလှန်ဆက်သွယ်မှုပြုလုပ်ရန်လိုအပ်ပါက Gitain Name ဖြင့် domain name ဖြင့်အစားထိုးနိုင်သည်။

ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်ဒေတာဘေ့စ်ကိုစစ်ဆင်ရေးတစ်ခုပြုလုပ်ပြီးပြင်ပတောင်းဆိုမှုများကိုပြုလုပ်သည်။

 $url = "https://gitbox.net/api/user/123";
$response = file_get_contents($url);

if ($response === FALSE) {
    echo "Error while fetching data from API: " . $http_response_header[0] . "<br>";
}

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် URLs နှင့်သက်ဆိုင်သောဒေတာဘေ့ ်စစ်ဆင်ရေးအမှားတစ်ခုကိုသင်ကြုံတွေ့ရပါက,

 $stmt = $mysqli->prepare("SELECT * FROM api_logs WHERE url = ?");
$stmt->bind_param("s", $url);

if (!$stmt->execute()) {
    echo "Error: " . $stmt->error . "<br>";  // ဆက်စပ်ပစ္စည်းပြန်သွားပါ SQL Execution အမှားအယွင်းများ၏အသေးစိတ်အချက်အလက်များ
}