MySQL databases ကို PHP တွင်အသုံးပြုသောအခါ MySQLI extension သည် MySqli :: SYSQLI :: Debuggugging ဖြစ်သည်။ ၎င်းမှတစ်ဆင့် developer များသည်ဒေတာဘေ့စ်မေးမြန်းချက်များအကြောင်းအသေးစိတ်အချက်အလက်များကိုရယူနိုင်ပါသည်။ ဤဆောင်းပါးသည် MySQLI :: debug ၏ debug ကို debugging အချက်အလက်များကိုမည်သို့ပြသမည်ကိုရှင်းပြပါမည်။
MySQLI :: Debug သည် လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှု၏ debug အချက်အလက်ကိုပုံနှိပ်ထုတ်လွှင့်နိုင်သည့် MySQLI အတန်းအစား၏တည်ငြိမ်သောနည်းလမ်းဖြစ်သည်။ ဤအချက်အလက်တွင်ကွပ်မျက်ခံရသော SQL Queries, Database connection ၏အခြေအနေ, ဤအချက်အလက်သည် developer များအတွက်အလွန်အသုံးဝင်သည်။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည်လက်ရှိဒေတာဘေ့စ်စစ်ဆင်ရေးနှင့်ပတ်သက်သည့်အသေးစိတ်အချက်အလက်များကိုဖော်ပြလိမ့်မည်။
mysqli::debug("d:t"); // ဒီမှာ "d:t" debug output ကို enable လုပ်ဖို့အသုံးပြုခဲ့သည်
သို့သော်ပုံမှန်အားဖြင့် MySQLI :: Debug Debug သည် PHP အမှားမှတ်တမ်းသို့ထုတ်လုပ်ခြင်းဖြစ်သည်။ အကယ်. သင်သည်ဤ debugging သတင်းအချက်အလက်များကိုဝဘ်စာမျက်နှာ၏ရှေ့ဆုံးအဆုံးသို့တိုက်ရိုက်တင်ပြလိုပါကဤအရာကိုမည်သို့အောင်မြင်ရန်မည်သို့ရှင်းပြလိမ့်မည်။
MySQLI :: Debug Output ကို Web Page ၏ရှေ့တန်းတွင် Debug output ကိုပြသရန်အတွက်ကျွန်ုပ်တို့သည်အောက်ပါအဆင့်များကိုလုပ်ဆောင်ရန်လိုအပ်သည် -
ပထမ ဦး စွာ MySQLI :: Debug ကို enable လုပ်ထားပြီး debug အချက်အလက်ကိုထုတ်လွှတ်နိုင်အောင်သေချာအောင်လုပ်ရမယ်။
// Debug output ကို Enable လုပ်ပါ
mysqli::debug("d:t");
MySQLI :: Debug သတင်းအချက်အလက် output ကို debug ကို debug ကို တိုက်ရိုက်ပြသလိမ့်မည်။ defail phom စာမျက်နှာ၏ရှေ့ဆုံးအဆုံးတွင်၎င်းတို့ကိုပြသရန်အတွက် output buffering method ကိုသုံးရန်လိုအပ်သည်။
<?php
// output ကို buffering စတင်ပါ
ob_start();
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli('localhost', 'username', 'password', 'database_name');
// Debug output ကို Enable လုပ်ပါ
mysqli::debug("d:t");
// သငျသညျဒေတာဘေ့စစုံစမ်းရေးစစ်ဆင်ရေးလုပ်ဆောင်နိုင်ပါတယ်
$query = "SELECT * FROM users WHERE id = 1";
$result = $mysqli->query($query);
// Debug သတင်းအချက်အလက်ရယူပါ
$debug_info = ob_get_contents();
// output ထုတ် buffering ပိတ်ထား
ob_end_clean();
// ဝဘ်စာမျက်နှာပေါ်ရှိ output ကို debug အချက်အလက်
echo '<pre>' . htmlspecialchars($debug_info) . '</pre>';
?>
အထက်ပါကုဒ်သည်အရေးကြီးသောအဆင့်များစွာကိုပြုလုပ်သည်။
ob_start () output buffering စတင်သည်။ အားလုံး output ကိုယာယီကယ်တင်ခြင်းခံရလိမ့်မည်။
ဒေတာဘေ့စ်ကိုဆက်သွယ်ပြီး query ကိုကွပ်မျက်ခံရပြီးနောက် MySQLI :: Debug ("D: T" Debug) သည် output buffer သို့အချက်အလက်များကို debug အချက်အလက်ကိုရေးသားခဲ့သည်။
ob_get_contents () မှ output သတင်းအချက်အလက်အားလုံးကိုကြားခံဖြင့်သိမ်းဆည်းထားပြီး၎င်းကို ဒေါ်လာ Debug_info variable သို့သိမ်းဆည်းသည်။
ob_clean () သတင်းအချက်အလက်များကို output မှကြိုတင်ပြင်ဆင်ခြင်းမှကာကွယ်ရန် output buffering ကိုပိတ်ထားသည်။
နောက်ဆုံးအနေဖြင့်ကျွန်ုပ်တို့သည် echo function ကိုပဲ့တင်သံ function မှတဆင့် <pre> tag ဖြင့် debugging အချက်အလက်များကိုဖြည့်ဆည်းပေးသည်။
Debug အချက်အလက်များကိုရှင်းလင်းရန်လွယ်ကူပြီးဖတ်ရန်လွယ်ကူပြီးဖတ်ရန်လွယ်ကူသည်။ HTML နှင့် CSS ကို အသုံးပြု. debug အချက်အလက်ပုံစံကိုသင်စိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။
<?php
// output ကို buffering စတင်ပါ
ob_start();
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$mysqli = new mysqli('localhost', 'username', 'password', 'database_name');
// Debug output ကို Enable လုပ်ပါ
mysqli::debug("d:t");
// စုံစမ်းမှုစစ်ဆင်ရေးလုပ်ဆောင်ပါ
$query = "SELECT * FROM users WHERE id = 1";
$result = $mysqli->query($query);
// Debug သတင်းအချက်အလက်ရယူပါ
$debug_info = ob_get_contents();
// output ထုတ် buffering ပိတ်ထား
ob_end_clean();
// ဝက်ဘ်စာမျက်နှာပေါ်ရှိ debug သတင်းအချက်အလက်ကိုဓာတ်ပုံရိုက်ခြင်းနှင့်ထုတ်ယူပါ
echo '<div style="background-color: #f4f4f4; border: 1px solid #ccc; padding: 10px;">';
echo '<h3>သတင်းအချက်အလက် debugging:</h3>';
echo '<pre style="font-size: 14px; color: #333; background-color: #f8f8f8; padding: 15px; border: 1px dashed #ddd;">' . htmlspecialchars($debug_info) . '</pre>';
echo '</div>';
?>
ဤချဉ်းကပ်မှုသည်ဝက်ဘ်စာမျက်နှာပေါ်တွင် debug အချက်အလက်ကိုကြည့်ရှု။ 0 က်ဘ်စာမျက်နှာပေါ်တွင်ကြည့်ရှုနိုင်ပြီးစိတ်ကြိုက် CSS စတိုင်ဖြင့်ဖတ်ရန်ပိုမိုလွယ်ကူစေသည်။
MySQLI :: Debug မှသတင်းအချက်အလက်ထုတ်လုပ်မှုတွင်အထိခိုက်မခံသောဒေတာဘေ့စ်သတင်းအချက်အလက်များပါ 0 င်နိုင်သည်။ ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင် Debug output ကို disable လုပ်ရန်သို့မဟုတ်ကန့်သတ်ရန်အကောင်းဆုံးဖြစ်သည်။
သတင်းအချက်အလက်များကို debugging လုပ်သည့်အခါဝက်ဘ်စာမျက်နှာ၏ရှေ့အဆုံးတွင် output ကို output ကိုအပြီးတွင်အထိခိုက်မခံသောအချက်အလက်များမပေါက်ကြားပါ။
အချက်အလက်များကို debugging လုပ်နိုင်သည်, ထို့ကြောင့်အချက်အလက်ပမာဏသည်ကြီးမားလွန်းပါကသတင်းအချက်အလက်များကို 0 က်ဘ်စာမျက်နှာတစ်ခုသို့တိုက်ရိုက်ထုတ်ပေးမည့်အစားသတင်းအချက်အလက်များကို log file ထဲသို့ထည့်ရန်စဉ်းစားနိုင်သည်။
MySQLI :: debug ကို debug ကိုအသုံးပြုခြင်းဖြင့်ဖွံ့ဖြိုးရေးနှင့် debugging အတွက်အလွန်အထောက်အကူပြုသော MySQL ဒေတာဘေ့စ်လုပ်ငန်းများအတွက်အသေးစိတ် debug အချက်အလက်များကိုအသေးစိတ်ဖော်ပြနိုင်သည်။ တရားဝင်မလွှတ်မီသတိရပါ, အထိခိုက်မခံသောသတင်းအချက်အလက်ယိုစိမ့်မှုများကိုတားဆီးရန် Debugging function ကိုပိတ်ထားပါ။