ဒေတာဘေ့စ်လုပ်ငန်းများသည် PHP ဖွံ့ဖြိုးတိုးတက်မှု၏အရေးပါသောအစိတ်အပိုင်းဖြစ်သည်။ အထူးသဖြင့် MySQL databases ကိုအသုံးပြုသောအခါအမှားအယွင်းများကိုလျစ်လျူရှု။ တိုးတက်အောင်လုပ်ခြင်းသည် developer တိုင်းကိုကျွမ်းကျင်ရန်လိုအပ်သည်။ MySQL databases နှင့်အပြန်အလှန်ဆက်သွယ်ခြင်းအတွက် MySQLI_STBASE :: MySQLI_STMT :: MySQLI_STMT :: MySQLI_STMMT :: MySQLI_STMMT :: IFF $ အမှားသည် developer များကို SQL ကွပ်မျက်မှုတွင်ပိုမိုကောင်းမွန်သောဖမ်းဆီးခြင်းနှင့်အမှားအယွင်းများကိုကူညီနိုင်သည့်အလွန်လက်တွေ့ကျသောပိုင်ဆိုင်မှုဖြစ်သည်။ ဤဆောင်းပါးသည် MySQLI_STMMT မှတစ်ဆင့် PHP code ၏အမှားသည်းခံမှုနှင့်ဖြည့်ဆည်းခြင်းစွမ်းရည်ကိုမည်သို့တိုးတက်အောင်လုပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
MySQLI_STMT :: $ အမှား သည် MySQLI_STMT အတန်းအစား၏ပိုင်ဆိုင်မှုတစ်ခုဖြစ်သည်။ အကယ်. SQL ကြေငြာချက်သည်အောင်မြင်စွာလုပ်ဆောင်နိုင်ပါကအိမ်ခြံမြေသည်အချည်းနှီးသော string တစ်ခုဖြစ်သည်။ အမှားတစ်ခုဖြစ်ပေါ်ပါကအမှားအယွင်းကိုဖော်ပြသည့် string တစ်ခုပါလိမ့်မည်။
အသုံးပြုမှုဥပမာ:
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_error) {
die("Connection failed: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT * FROM non_existent_table");
if (!$stmt) {
echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
exit();
}
$stmt->execute();
if ($stmt->error) {
echo "Execute failed: (" . $stmt->errno . ") " . $stmt->error;
exit();
}
$stmt->close();
အထက်ပါကုဒ်တွင် SQL Execution တွင်အမှားအယွင်းများကိုစစ်ဆေးရန်ကျွန်ုပ်၏ MySQLI_STMT :: $ အမှားကို အသုံးပြုခဲ့သည်။ အကယ်. SQL ကြေငြာချက်နှင့်ပြ a နာတစ်ခုရှိပါက၎င်းသည်တိကျသောအမှားအယွင်းတစ်ခုထုတ်ဝေသည်။
SQL အမှားများကို detect လုပ်ပါ MySQLI_STMT :: DRESS ကို SQL query တစ်ခုကိုအကောင်အထည်ဖော်ပြီးနောက်အမှားအယွင်းရှိသည်ကိုအမြဲတမ်းစစ်ဆေးပါ။ အကယ်. ၎င်းသည်ဗလာမဟုတ်လျှင်၎င်းသည်ကွပ်မျက်ခြင်းလုပ်ငန်းစဉ်အတွင်းအမှားတစ်ခုဖြစ်ပွားခဲ့သည်ဟုဆိုလိုသည်။ ကျွန်ုပ်တို့သည်ဤအမှားအယွင်းကိုမှတ်တမ်းတင်ခြင်းသို့မဟုတ်အသုံးပြုသူအားဖော်ရွေသောအမှားပညတ်ကိုမှတ်တမ်းတင်ခြင်းကဲ့သို့သောဤအမှားအယွင်းများမှတစ်ဆင့်လုပ်ငန်းစဉ်ကိုလိုက်နာနိုင်သည်။
ဥပမာ -
if ($stmt->error) {
// မှတ်တမ်းတင်ရန်အမှားအယွင်းများကိုမှတ်တမ်းတင်ပါ
error_log("SQL Error: " . $stmt->error);
// အသုံးပြုသူအတွက်လွယ်ကူသောအကြံပြုချက်များပေးပါ
echo "အမှားတစ်ခုဖြစ်ပွားခဲ့သည်,ကျေးဇူးပြု. နောက်မှထပ်ကြိုးစားပါ。";
}
debugging စွမ်းရည်မြှင့်တင်ရေး <br> ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်း MySQLI_STMT :: အမှားအယွင်းများသည် Debug ကိုရှာဖွေရန်နှင့်ပြ problems နာများကိုရှာဖွေရန် SQL ကွပ်မျက်မှုတွင်အမှားအချက်အလက်များကိုလျင်မြန်စွာရရှိနိုင်သည်။ မှတ်တမ်းသို့အမှားမက်ဆေ့ခ်ျများကိုမှတ်တမ်းတင်ပါသို့မဟုတ်မှတ်တမ်းတင်ပါ။ developer များပြ the နာကိုပိုမိုရှင်းလင်းစွာနားလည်နိုင်သည်။
Safer အမှားအမှားကိုင်တွယ်ခြင်း unprocessed database အမှားများကြောင့်မတိကျသောရလဒ်များအနှောင့်အယှက်ဖြစ်စေသောရလဒ်များကိုအနှောင့်အယှက်ဖြစ်စေခြင်းသို့မဟုတ်ပြန်လာခြင်းမှကာကွယ်ရန်အတွက် MySQLI_STMT :: $ အမှားကို သုံးပါ။ အမှားများကိုဖမ်းခြင်းနှင့်၎င်းတို့ကိုသင့်လျော်စွာကိုင်တွယ်ခြင်းအားဖြင့် code ၏ကြံ့ခိုင်မှုကိုအလွန်တိုးတက်စေနိုင်သည်။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင် SQL အမှားများကိုမည်သို့ထိရောက်စွာကိုင်တွယ်နိုင်မည်နည်း။
ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင်ဒေတာဘေ့စ်အမှားသတင်းအချက်အလက်များကိုအသုံးပြုသူများအားတိုက်ရိုက်ထုတ်ယူခြင်းသည်အလွန်အန္တရာယ်များသည်။ developer များကအသုံးပြုသူအားတိုက်ရိုက်ပြသခြင်းထက်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အမှားအယွင်းများကိုမှတ်တမ်းဖိုင်တွင်မှတ်တမ်းတင်ရန်အချက်အလက်များကိုမှတ်တမ်းတင်ရန်အကြံပြုသည်။ ၎င်းသည်စနစ်၏လုံခြုံရေးကိုဆက်လက်ထိန်းသိမ်းထားရုံသာမက developer များကိုလိုအပ်သော debugging information ကိုလည်းပေးနိုင်သည်။
ဥပမာ -
if ($stmt->error) {
// အမှားများကိုသာမှတ်တမ်းတင်ပါ,စာမျက်နှာမှ output ကိုမဟုတ်ပါဘူး
error_log("SQL Error: " . $stmt->error);
}
MySQLI_STMT :: $ အမှားကို အလိုအလျောက်ရှင်းလင်းမည်လား။
ဟုတ်ကဲ့, mysqli_stmm :: အမှားကိုဖမ်းမိပြီးလုပ်ဆောင်ပြီးတာနဲ့ $ အမှားကို အလိုအလျောက်ရှင်းလင်းလိမ့်မည်။ ထို့ကြောင့်, အမှားများကိုစစ်ဆေးပြီးနောက် developer များကအချိန်မီတိုင်းတာမှုများပြုလုပ်သင့်ပြီးနောက်ဆက်တွဲယုတ္တိဗေဒကိုဆက်လက်ကိုင်တွယ်သင့်သည်။
URL မှတစ်ဆင့် debug လုပ်နည်း။
ဒေတာဘေ့စ်ပြ issues နာများကို debing လုပ်သည့်အခါ URL တောင်းဆိုမှုများတွင် URL တောင်းဆိုမှုများပါ 0 င်နိုင်သည်။ သစ်ခုတ်ခြင်းလုပ်ဆောင်မှုမှတစ်ဆင့် developer များကအမှားတစ်ခုဖြစ်ပေါ်သောအခါအမှားအယွင်းများဖြစ်ပေါ်သောအခါတောင်းဆိုထားသော URL ကိုပူးတွဲနိုင်သည်။
ဥပမာ -
if ($stmt->error) {
// လက်ရှိတောင်းဆိုထားတဲ့ကိုရယူပါ URL
$url = "https://gitbox.net/debug.php?query=" . urlencode($_SERVER['QUERY_STRING']);
// စံချိန် URL နှင့် SQL အမှားသတင်းစကား
error_log("SQL Error: " . $stmt->error . " URL: " . $url);
}
အထက်ဖော်ပြပါကုဒ်တွင်လက်ရှိတောင်းဆိုချက်၏ URL ကိုဖမ်းယူခြင်းအားဖြင့်တောင်းဆိုမှု၏အခြေအနေကိုနားလည်ရန်ပိုမိုလွယ်ကူသည်။