PHP တွင် SQL ထုတ်ပြန်ချက်များကို Debule ထုတ်ပြန်ချက်များကို Dataqli ကိုအသုံးပြုသောအခါ Debuli ကို အသုံးပြုသောအခါပြ problems နာများကိုချိတ်ဆက်ရန်အလွန်အရေးကြီးသည်။ MySQLI အတန်းသည် debug နည်းလမ်းကိုဖြည့်ဆည်းပေးနိုင်သည့် Debug နည်းလမ်းကိုအထောက်အကူပြုနိုင်သည်။ ဤဆောင်းပါးသည် MySQLI :: Debugging ကို Debug Debug Panel သို့ Debug Panel သို့ Custom Debug Panel သို့မည်သို့ဖမ်းယူရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
MySQLI :: Debug သည် MySQLI extension မှပေးထားသော static method တစ်ခုဖြစ်သည်။ ၎င်း၏ပုံမှန်အသုံးပြုမှုမှာ -
mysqli::debug('d:t:O,/path/to/debug.log');
Parameter သည်အဘယ်မှာရှိအဘယ်မှာရှိ string တစ်ခုဖြစ်သော debug သတင်းအချက်အလက်များ၏အမျိုးအစားနှင့် output ကို pater ကိုသတ်မှတ်သော string ကိုဖြစ်ပါတယ်။ ဥပမာအားဖြင့်:
D: T: o: o debug level and output target ကိုကိုယ်စားပြုသည်။
/path/to/debug.log ဆိုသည်မှာသတ်မှတ်ထားသောဖိုင်သို့ debug အချက်အလက်ကိုရေးခြင်း
MySQLI :: Debug သည် ဆက်သွယ်မှုသို့မဟုတ်မေးမြန်းမှုပြ problems နာများကိုရှာဖွေရန်လွယ်ကူသောနောက်ခံအချက်အလက်များကိုအခြေခံကျခြင်းသတင်းအချက်အလက်များကို output လုပ်လိမ့်မည်။
MySQLI :: debug ကို debuguss အချက်အလက်များကို default default မှထုတ်ယူခြင်းနှင့်ကြိုး၏တိုက်ရိုက်ပြန်လာမှုကိုမထောက်ခံပါ။ ဤအချက်အလက်များကိုစိတ်ကြိုက် Debug Panel သို့ပေါင်းစပ်ရန်နောက်ဆက်တွဲအပြောင်းအလဲနဲ့နှင့်ပြသမှုအတွက် "ဖမ်းဆီးရမိ" ရမည်ဖြစ်သည်။
အဆိုပါနည်းလမ်းမှာ PHP ၏ output buffering ယန္တရားများကို Ob_start () နှင့် ob_get_clean () ၏အကူအညီဖြင့်ရလဒ်ကိုဖမ်းယူရန်ဖြစ်သည်။
// output ကိုကြားခံဖွင့်ပါ
ob_start();
// စတင်တည်ထောင်သည် mysqli debug output ကို
mysqli::debug('d:t:O');
// Buffer အကြောင်းအရာကိုရယူပါ
$debugOutput = ob_get_clean();
ဤနည်းအားဖြင့် $ Debugoutput တွင် debug အချက်အလက်ပါ 0 င်သည်။
အောက်ဖော်ပြပါသည် MySQLI connection process နှင့်သတင်းအချက်အလက်များကိုဖြည့်ဆည်းပေးသည့်သရုပ်ပြကုဒ်ဖြစ်သည်။
<?php
// စတင်တည်ထောင်သည်ထုတ်လုပ်ခြင်း缓冲捕获 mysqli::debug ထုတ်လုပ်ခြင်း
ob_start();
mysqli::debug('d:t:O'); // 设定debug output ကို到当前缓冲区
$debugInfo = ob_get_clean();
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli('localhost', 'user', 'password', 'database');
if ($mysqli->connect_error) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error;
} else {
echo "အောင်မြင်စွာဆက်သွယ်မှု!";
}
// ထုံးစံ debug panel သို့ debug သတင်းအချက်အလက် Pass Pass Pass(ဒီမှာရိုးရှင်းတဲ့ပုံနှိပ်)
echo "<pre style='background:#f0f0f0;padding:10px;border:1px solid #ccc;'>";
echo "MySQLi Debug အကေြာင်းကြားချက်:\n";
echo htmlspecialchars($debugInfo);
echo "</pre>";
သင့်တွင် Web-based debugging panel ရှိပါကသင်ဖမ်းမိသော debugging သတင်းအချက်အလက်များကိုဤနည်းဖြင့်ထိုးသွင်းနိုင်သည်။
<?php
// ယူဆချက် $debugPanel debug panel အရာဝတ်ထုသို့မဟုတ်HTMLထည့်သောအရာ
function addDebugInfoToPanel($info) {
// သင်၏လိုအပ်ချက်များနှင့်အညီပုံစံများကိုထည့်နိုင်သည်သို့မဟုတ်ထည့်နိုင်သည်
$formatted = "<div class='debug-info' style='font-family: monospace; background:#222; color:#0f0; padding:10px; margin:10px 0;'>"
. nl2br(htmlspecialchars($info)) . "</div>";
echo $formatted;
}
// 捕获并ထုတ်လုပ်ခြင်း调试အကေြာင်းကြားချက်
ob_start();
mysqli::debug('d:t:O');
$debugOutput = ob_get_clean();
addDebugInfoToPanel($debugOutput);
ဤနည်းအားဖြင့် debugging အချက်အလက်များကိုသင်၏ debugging panel တွင် stylized နှင့် readable ပုံစံဖြင့်ပြသလိမ့်မည်။
ခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်ဖိုင်တစ်ခုသို့ debug သတင်းအချက်အလက်ကိုသင်ရေးလိုပါက MySQLI :: Debug ၏ parameters များကိုသင်သတ်မှတ်နိုင်သည်။
mysqli::debug('d:t:/var/log/mysqli_debug.log');
PHP script cycle နှင့်ပေါင်းစပ်ပြီး log file content ကိုပုံမှန်ဖတ်ရှုပြီးအဆင်ပြေသောသမိုင်းခြေရာခံခြင်းအတွက် Debug Panel သို့တွန်းပို့လိုက်သည်။
Debugging သတင်းအချက်အလက်များတွင်အထိခိုက်မခံသောအချက်အလက်များပါဝင်နိုင်ပြီးထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်၎င်းကိုဖွင့်ရန်မလိုအပ်ပါ။
output buffer capture နည်းလမ်းသည်လျင်မြန်စွာဖွံ့ဖြိုးတိုးတက်မှုနှင့် debugging အတွက်သင့်လျော်သည်။ ရှုပ်ထွေးသောစီမံကိန်းများအတွက်အထူးမှတ်တမ်းစီမံခန့်ခွဲမှုစနစ်ကိုအသုံးပြုရန်အကြံပြုသည်။
Log files များရေးသားထားသော 0 န်ကြီးဌာနကိုသေချာစေရန်အမှန်တကယ်ပတ်ဝန်းကျင်နှင့်အညီဖိုင်ခွင့်ပြုချက်များကိုညှိရန်သတိရပါ။
PHP ၏ output output function ကို အသုံးပြု . SySQLI :: Debug Debug ထုတ်ယူခြင်းကိုဖမ်းယူခြင်းဖြင့်ကျွန်ုပ်တို့သည်ဤနောက်ခံ debug အချက်အလက်ကိုထုံးတမ်းစဉ်လာ Debug Panel သို့ပြောင်းလွယ်ပြင်လွယ်နိုင်သည်။ ၎င်းသည်ပြ problem နာဆိုင်ရာစုံစမ်းစစ်ဆေးရေးနှင့်နေရာချထားမှု၏ထိရောက်မှုကိုအလွန်တိုးတက်ကောင်းမွန်စေပြီးဒေတာဘေ့စ်လုပ်ငန်းများ၏ debugging လုပ်ငန်းစဉ်ကိုပိုမိုအလိုလိုထိရောက်စေသည်။