PHP ကို သုံး. MySQL နှင့်အပြန်အလှန်ဆက်သွယ်သည့် application များနှင့်အပြန်အလှန်ဆက်သွယ်မှုများပြုလုပ်သောအခါကြိုတင်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များသည်စွမ်းဆောင်ရည်နှင့်လုံခြုံမှုကိုတိုးတက်စေရန်အလေ့အကျင့်တစ်ခုဖြစ်သည်။ MySQLI_STMT :: MySQLI :: SQLS :: Debug သည် SQL ထုတ်ပြန်ချက်များကို debugg လုပ်ရန်နှင့် SQL ထုတ်ပြန်ချက်များကိုဖြည့်ဆည်းပေးနိုင်သည်။ ဤဆောင်းပါးသည်ဤနည်းစနစ်နှစ်ခုကိုမည်သို့ပေါင်းစပ်မည်ကိုအသေးစိတ်လေ့လာသုံးသပ်ရန်ကြိုတင်သတ်မှတ်ထားသည့်ထုတ်ပြန်ချက်များကိုခွဲခြမ်းစိတ်ဖြာရန်လေ့လာရန်ဖြစ်သည်။
ပထမ ဦး စွာဤနည်းလမ်းနှစ်မျိုးများ၏အခြေခံသဘောတရားကိုနားလည်ကြပါစို့။
MySQLI :: Debug : ဤနည်းလမ်းကို MySQL ဆက်သွယ်မှု၏အချက်အလက်များကိုထုတ်ပြန်ခြင်း, ၎င်းသည် developer များက SQL ထုတ်ပြန်ချက်များနှင့်ပတ်သက်သည့်အသေးစိတ်အချက်အလက်များကိုမြင်တွေ့ရပြီး database မေးမြန်းချက်များကိုရှာဖွေဖော်ထုတ်ရန်ကူညီသည်။
MySQLI_STMT :: ပြင်ဆင်ပါ - ဤနည်းလမ်းကို SQL ကြေငြာချက်အတွက်ပုံစံတစ်ခုပြင်ဆင်ရန်အသုံးပြုသည်။ Preprocessing ထုတ်ပြန်ချက်များကိုအသုံးပြုခြင်းသည် SQL injection တိုက်ခိုက်မှုများကိုတားဆီးပြီးအလားတူမေးမြန်းမှုကိုအကြိမ်ကြိမ်အကောင်အထည်ဖော်သောအခါစွမ်းဆောင်ရည်ကိုတိုးတက်စေသည်။
MySQLI :: Debug နှင့် MySQLI_STMT ကိုပေါင်းစပ်ခြင်းဖြင့်ကြိုတင်ပြင်ဆင်ပါ။ ဤတွင်မည်သို့အောင်မြင်ရန်မည်သို့တင်ပြသောရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// စတင်တည်ထောင်သည် MySQLi ဆုတ်ဘေါက်
mysqli_report(MYSQLI_REPORT_ALL); // စတင်တည်ထောင်သည်所有错误报告
$link = new mysqli('localhost', 'username', 'password', 'database');
// 启用ဆုတ်ဘေါက်模式
$link->debug('ON');
// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်
$stmt = $link->prepare("SELECT * FROM users WHERE email = ?");
if ($stmt === false) {
die('ပြင်ဆင်ထားအသေအချာပေြာဆိုချက်失败:' . $link->error);
}
// parameters တွေကိုချည်ထား
$email = 'example@m66.net';
$stmt->bind_param('s', $email);
// တစ် ဦး စုံစမ်းမှု execute
$stmt->execute();
// 关闭အသေအချာပေြာဆိုချက်和连接
$stmt->close();
$link->close();
?>
MySQLI_REPORD မှတဆင့် MySQLI_REPORD မှတဆင့် MySQLI ၏အစီရင်ခံမှုကို Enable လုပ်ပါ ။
ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ပါ - MySQLI () ကို သုံး. debug mode ကိုဖွင့်ပြီးဒေတာဘေ့စ်ဆက်သွယ်မှုတစ်ခုကိုဖန်တီးပါ။
SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ပါ ။ SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ရန် ပြင်ဆင်ထားသည့် နည်းလမ်းကိုသုံးပါ။ ဤဥပမာတွင်, စုံစမ်းမှုကြေငြာချက်သည် 0 င်ရောက်လာသောအီးမေးလ်လိပ်စာအပေါ် အခြေခံ. အသုံးပြုသူအချက်အလက်များကိုရယူသည်။
Bind Parametersents : CQL ထုတ်ပြန်ချက်များမှတစ်ဆင့် SQL ထုတ်ပြန်ချက်များတွင် variable များကို parameters များ ( ? ) မှ variable တွေကို (? ) ကိုချည်နှောင်ခြင်း။ ဤနေရာတွင်သင်က query ကို အီးမေးလ် တစ်စောင်သို့ $ အီးမေးလ် ပို့သည်။
Execute query : Preprocessed SQL ထုတ်ပြန်ချက်များကိုလုပ်ဆောင်ရန် Execute () နည်းလမ်းကိုခေါ်ဆိုပါ။
Debug output : Debug နည်းလမ်း၏အကူအညီဖြင့် SQL query ider untion untion uncourmuation နှင့်ပတ်သက်သည့်အသေးစိတ်အချက်အလက်များကိုကျွန်ုပ်တို့ကြည့်ရှုနိုင်သည်။
SQL query ကိုကွပ်မျက်လိုက်သောအခါ Debug Mode ကိုဖွင့်ထားသည် ။ ဒါဟာတူတစ်ခုခုကိုပြလိမ့်မည်:
SQL ထုတ်ပြန်ချက်များ၏ကွပ်မျက်အချိန်။
(parameters တွေကိုအပါအ 0 င် SQL ကြေညာချက်၏အမှန်တကယ်ကွပ်မျက်ခြင်းအကြောင်းအရာ။
စုံစမ်းမှု၏ကွပ်မျက်အစီအစဉ်။
ကွပ်မျက်စဉ်အတွင်းမည်သည့်အမှားများသို့မဟုတ်သတိပေးချက်များ။
ဥပမာအားဖြင့်အထက်ပါကုဒ်ကိုကျွန်ုပ်တို့ Execute လုပ်သည့်အခါတွင် output တွင်အောက်ပါ debugging အချက်အလက်များပါ 0 င်နိုင်သည်။
MySQL Debug: (Server version: 5.7.34) Starting query: SELECT * FROM users WHERE email = 'example@m66.net'
ဒီ Debug output ကိုမှတစ်ဆင့် developer များက SQL ကြေငြာချက်ကိုမျှော်လင့်ထားသည့်အတိုင်း၎င်း,
MySQLI :: Debug နှင့် MySqli_Stmt ပေါင်းစပ်ခြင်း :: အောက်ပါအခြေအနေများအတွက်အထူးသဖြင့်သင့်လျော်သော Preprocessing ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်ပြင်ဆင်ပါ ။
SQL injection Detection : ကွပ်မျက်ခံရသော SQL ကြေငြာချက်ကိုကြည့်ခြင်းအားဖြင့်,
စွမ်းဆောင်ရည်အကောင်းမြင် - Debug output သည် developer များတီထွင်သူများအားစွမ်းဆောင်ရည်မြှင့်တင်ရန် SQL Queries ၏ Execute Time နှင့် Execute အစီအစဉ်ကိုဆန်းစစ်ရန်ကူညီနိုင်သည်။
အမှားပြ juddt နာဖြေရှင်းခြင်း - သတင်းအချက်အလက်များကို debugging judging judging just or just or just or justings or သတိပေးချက်များကိုထုတ်ဖော်ပြောဆိုနိုင်ပြီး developer များပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်ကူညီနိုင်သည်။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်သတိဖြင့်သုံးပါ ။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင် Debug Information များလွန်းခြင်းနှင့်စွမ်းဆောင်ရည်ကိုလျော့နည်းသွားစေခြင်းနှင့်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေနိုင်သည်။
SQL Error Shandling : လက်တွေ့ကျသော application များတွင် SQL ကြေငြာချက်၏ရလဒ်များကို SQL ကြေငြာချက်ရလဒ်များကိုမှန်ကန်စွာကိုင်တွယ်ရန်လိုအပ်သည်။
MySQLI :: Debug နှင့် MySQLI_STMT ကို အသုံးပြု. Developer များသည်နက်ရှိုင်းသောထုတ်ပြန်ချက်များကိုကြိုတင်မဖော်ပြထားသည့်ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်နှင့်ဖြေရှင်းနိုင်ရန်နှင့်ဖြေရှင်းရန်နှင့်ဖြေရှင်းရန်နှင့်ဖြေရှင်းနိုင်ရန်ကူညီနိုင်သည်။ output ကို debing လုပ်ခြင်းအားဖြင့် SQL Queries ၏အပြုအမူကိုပိုမိုတိကျစွာထိန်းချုပ်နိုင်ပြီးလျှောက်လွှာစွမ်းဆောင်ရည်နှင့်လုံခြုံရေးကိုတိုးတက်စေနိုင်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုနှင့် debugging အဆင့်များတွင်ဤကိရိယာများကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်ဖွံ့ဖြိုးမှုစွမ်းရည်နှင့်ကုဒ်အရည်အသွေးကိုများစွာတိုးတက်စေလိမ့်မည်။