လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Debug output ကို module, user, သို့မဟုတ်တောင်းဆိုမှုအားဖြင့်ဘယ်လိုခွဲခြားနည်း

MySQLI :: Debug output ကို module, user, သို့မဟုတ်တောင်းဆိုမှုအားဖြင့်ဘယ်လိုခွဲခြားနည်း

M66 2025-05-31

PHP ပရိုဂရမ်များဖွံ့ဖြိုးဆဲနှင့် debugging လုပ်သည့်အခါဒေတာဘေ့စ်စစ်ဆင်ရေးနှင့်ပြ problem နာတည်နေရာကိုပိုမိုကောင်းမွန်စေရန်အလွန်အရေးကြီးသည်။ MySQLI :: Debug Debug Debuggase Query ကို Debug Debug Debug Debug Debug Debug ကိုထုတ်ပေးရန်နှင့်စီမံခန့်ခွဲရန်နည်းလမ်းများသည် developer များကလျစ်လျူရှုသောအစိတ်အပိုင်းများဖြစ်သည်။ ဤဆောင်းပါးသည် MySQLI :: Debug Debug output ကို module, user, debug output ကိုစီမံခန့်ခွဲရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

1 ။ STSQLI :: Debug ကို Debugs စစ်ဆင်ရေးကို Debug လုပ်ခြင်းကိုသုံးပါ

MySQLI :: Debug သည် PHP တွင် MySQLI extension မှပေးသော debugging function ကိုဖြစ်သည်။ ၎င်းသည် MySQL ဆာဗာ၏သတင်းအချက်အလက်များကို MySQL ဆာဗာ၏သတင်းအချက်အလက်များကိုရှာဖွေခြင်း, အချိန်, အမှားအယွင်းများစသဖြင့် debug database operations များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်ရန်အတွက်ဤ function ကိုပထမဆုံးဖွင့်ရန်လိုအပ်သည်။

 mysqli_report(MYSQLI_REPORT_ALL);  // သတိပေးချက်များအားလုံးကိုဖွင့်ခြင်းနှင့်အမှားအစီရင်ခံစာများကိုဖွင့်ပါ

ထို့နောက်သင်၏ MySQLI :: Debug နည်းလမ်းကိုသင်၏ MySQLI Object Outhat မှထုတ်ဖော်ပြောဆိုရန် Output မှထုတ်ပြန်ရန်

 $mysqli = new mysqli("localhost", "user", "password", "database");
$mysqli->debug("SELECT * FROM users");  // ပုံနှိပ် SQL သတင်းအချက်အလက် debugging

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

2 ။ module ခွဲခြားခြင်းဖြင့် Debug output ကိုစီမံပါ

ကြီးမားသော applications များတွင်ဒေတာဘေ့စ်စစ်ဆင်ရေးများတွင် module မျိုးစုံပါ 0 င်သည်။ ဤ module များရှိဒေတာဘေ့စ်လုပ်ငန်းများကိုပိုမိုကောင်းမွန်စေရန်နှင့် optimize လုပ်ရန်နှင့်ကွဲပြားခြားနားသော module များ၌ကွဲပြားခြားနားသော debug output များကိုအသုံးပြုရန်နှင့်ကွဲပြားခြားနားသောမှတ်တမ်းဖိုင်များသို့၎င်းတို့ကို log ပြုလုပ်ရန်အကြံပြုပါသည်။ module တစ်ခုချင်းစီအတွက်ထူးခြားသောအမှတ်အသားကိုသတ်မှတ်ပြီး output ကိုအမှတ်အသားပြုနိုင်သည်။

 function debug_query($mysqli, $query, $module_name) {
    $mysqli->debug("Module: $module_name, Query: $query");
}

function ကိုမတူညီသော module တစ်ခုဖြင့်သင်ခေါ်ဆိုသောအခါ module နှင့်ဆက်စပ်သော debug အချက်အလက်များထုတ်ပြန်ရာတွင်ကွဲပြားခြားနားသော module များလုပ်ဆောင်မှုများကိုခွဲခြားသိမြင်စေသည်။

 debug_query($mysqli, "SELECT * FROM users", "UserModule");
debug_query($mysqli, "SELECT * FROM orders", "OrderModule");

ဤနည်းအားဖြင့်သင်သည်ခွဲခြားသူများနှင့်ကွဲပြားခြားနားသော module များအတွက်ဒေတာဘေ့စ်လုပ်ငန်းများကိုအလွယ်တကူခွဲခြမ်းစိတ်ဖြာနိုင်သည်။

3 ။ အသုံးပြုသူခွဲခြားခြင်းဖြင့် Debug output ကိုစီမံပါ

အချို့သော application များတွင်အသုံးပြုသူများအပေါ် အခြေခံ. ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် debugging သတင်းအချက်အလက်များကိုသင်ကြည့်ရှုရန်လိုကောင်းလိုပေမည်။ ၎င်းသည်သုံးစွဲသူပေါင်းစုံစနစ်များအတွက်အထူးသဖြင့်သင်အသုံးပြုသူ၏မည်သူမည်ဝါဖြစ်ကြောင်း အခြေခံ. သတင်းအချက်အလက်များကို deprougging လုပ်ခြင်းကိုပြုလုပ်နိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်လက်ရှိသုံးစွဲသူ၏ ID ကို debug အချက်အလက်သို့ထည့်နိုင်သည်။

 function debug_query_by_user($mysqli, $query, $user_id) {
    $mysqli->debug("User ID: $user_id, Query: $query");
}

အသုံးပြုသူသည်ဒေတာဘေ့စ်ကိုလုပ်ဆောင်သည့်အခါတိုင်း, စစ်ဆင်ရေးပိုင်ဆိုင်သည့် debug output တွင်အတိအလင်းပြသနိုင်သည့်အတွက်လက်ရှိအသုံးပြုသူ ID ကိုမှတ်တမ်းတင်နိုင်သည့်အတွက်,

 debug_query_by_user($mysqli, "SELECT * FROM users", $current_user_id);
debug_query_by_user($mysqli, "SELECT * FROM orders", $current_user_id);

ဤနည်းလမ်းသည်မည်သည့်ဒေတာဘေ့စ်စစ်ဆင်ရေးလုပ်ငန်းများ၌အသုံးပြုသူလုပ်ဆောင်သည်ကိုလျင်မြန်စွာခြေရာခံရန်ကူညီနိုင်သည်။

4 ။ တောင်းဆိုချက်ခွဲခြားခြင်းဖြင့် Debug output ကိုစီမံပါ

ရှုပ်ထွေးသော application များတွင်တောင်းဆိုချက်သည်ဒေတာဘေ့စ်လုပ်ငန်းမျိုးစုံပါဝင်နိုင်ပြီးတောင်းဆိုမှုတစ်ခုစီကိုအခြားအသုံးပြုသူတစ် ဦး မှစတင်နိုင်သည်။ Debug သတင်းအချက်အလက်ကိုပိုမိုကောင်းမွန်စွာစီမံရန်သင်တောင်းဆိုမှုတစ်ခုစီအတွက်ထူးခြားသောတောင်းဆိုမှု ID ကိုထုတ်လုပ်နိုင်ပြီး Debug output ထဲသို့ ID ထည့်နိုင်သည်။ ၎င်းသည်သင့်အားတောင်းဆိုမှုတစ်ခုစီအတွက်ဒေတာဘေ့စ်လုပ်ငန်းများကိုလျင်မြန်စွာခွဲခြားသတ်မှတ်ပြီးခွဲခြမ်းစိတ်ဖြာရန်ကူညီသည်။

 function debug_query_by_request($mysqli, $query, $request_id) {
    $mysqli->debug("Request ID: $request_id, Query: $query");
}

တောင်းဆိုမှုတစ်ခုချင်းစီ၏ 0 င်ခွင့်တွင်ထူးခြားသောတောင်းဆိုမှု ID ကိုသင်ဖန်တီးနိုင်သည်။

 $request_id = uniqid("req_");
debug_query_by_request($mysqli, "SELECT * FROM users", $request_id);
debug_query_by_request($mysqli, "SELECT * FROM orders", $request_id);

ဤနည်းအားဖြင့်သင် debug သတင်းအချက်အလက်ကိုတောင်းဆိုခြင်းအားဖြင့် debug အချက်အလက်ကိုတောင်းဆိုနိုင်ပြီးတောင်းဆိုမှုတစ်ခုစီအတွက်ဒေတာဘေ့စ်လုပ်ငန်းများကိုခြေရာခံရန်နှင့်ပိုမိုလွယ်ကူစေရန်လွယ်ကူစေသည်။

5 ။ URL ကိုပေါင်းစပ်ပြီးခွဲခြားသတ်မှတ်ခြင်း

လျှောက်လွှာတစ်ခုတွင်ကွဲပြားသောစာမျက်နှာများသို့မဟုတ် API interfaces များပါ 0 င်ပါက URL (M66.net နှင့် M66.NET ) တွင်လည်းအစားထိုးနိုင်သည်။ ဤနည်းအားဖြင့် Debug သတင်းအချက်အလက်ကိုစာမျက်နှာပေါ်တွင် အခြေခံ. သင်သွားရောက်လည်ပတ်ရန်နှင့်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက်အချက်အလက်များကိုဖော်ထုတ်ရန်နှင့် outivize လုပ်ရန်သင်သွားရောက်ကြည့်ရှုရန် interface ကို အခြေခံ. ထပ်မံခွဲဝေနိုင်သည်။

 function debug_query_by_url($mysqli, $query, $url) {
    $url = str_replace('example.com', 'm66.net', $url);  // သေတမ်းစာ URL ဒိုမိန်းအမည်ကိုအစားထိုးပါ m66.net
    $mysqli->debug("URL: $url, Query: $query");
}

ဒေတာဘေ့စ်စစ်ဆင်ရေးတစ်ခုကိုသင်လုပ်ဆောင်သည့်အခါတိုင်းသင်လက်ရှိ URL သို့သွားနိုင်သည်။