PHP တွင် MySQLI သည် MySQL database များနှင့်အပြန်အလှန်ဆက်သွယ်မှုအတွက်အသုံးပြုသော database extension ဖြစ်သည်။ MySQLI သည် develemers debuggug လုပ်ခြင်းနှင့်ဒေတာဘေ့စ်လုပ်ငန်းများကိုအထောက်အကူပြုရန်နည်းလမ်းအမျိုးမျိုးကိုထောက်ပံ့ရန်နည်းလမ်းများစွာကို MySQLI :: Debug ဖြစ်သည်။ ဤနည်းလမ်းကို debug output ကို Enable လုပ်ထားသည့် developer များက SQL Querys နှင့် MySQL ဆာဗာများအကြားအပြန်အလှန်ဆက်သွယ်မှုကိုကြည့်ရှုရန်ကူညီပေးသည်။ သို့သော်မေးခွန်းသည် MySQLI :: Debug ကို ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသုံးပြုသင့်သလား။ ဖြစ်နိုင်ချေရှိသောအန္တရာယ်များနှင့်သက်ရောက်မှုများကဘာလဲ။
MySQLI :: Debug သည် MySQL client နှင့် server အကြား debug သတင်းအချက်အလက်ထုတ်လုပ်မှုကို enable လုပ်ရန်အသုံးပြုသော static method ဖြစ်သည်။ Database connection များ, query untionion quertion နှင့်အခြား SQL-Related လှုပ်ရှားမှုများနှင့်ပတ်သက်သောအသေးစိတ်အချက်အလက်များကိုအသေးစိတ်အချက်အလက်များပြသသောကြောင့်ဖွံ့ဖြိုးတိုးတက်မှုနှင့် debugging အဆင့်များတွင်အသုံးဝင်သည်။ ဤအချက်အလက်သည်များသောအားဖြင့် -
SQL Queries ၏ကွပ်မျက်အမိန့်
စုံစမ်းမှု၏စွမ်းဆောင်ရည်ခွဲခြမ်းစိတ်ဖြာ
ဆက်သွယ်မှုအခြေအနေနှင့်ချိန်ညှိချက်များ
<?php
// Debug Mode ကိုဖွင့်ပါ
mysqli::debug("d:t;q");
$connection = new mysqli("localhost", "user", "password", "database");
// ရိုးရှင်းသောစုံစမ်းမှုတစ်ခုလုပ်ဆောင်ပါ
$result = $connection->query("SELECT * FROM users WHERE id = 1");
// ဆက်သွယ်မှုကိုပိတ်ပါ
$connection->close();
?>
ဤဥပမာတွင် MySQLI :: Debug ("D: T; q") debug သတင်းအချက်အလက်ကို debug သတင်းအချက်အလက်ကိုဖွင့်ပေးသည်။
MySQLI :: Debug သည်ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်တွင်အလွန်အသုံး 0 င်သည်။ ၎င်းကိုထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသုံးပြုသောအခါသတိထားရန်လိုအပ်သည်။ ဤတွင်အလားအလာရှိသောအန္တရာယ်များနှင့်သက်ရောက်မှုအချို့ရှိသည်။
Debug Mode ကိုဖွင့်ခြင်းကအပိုဆောင်းစွမ်းဆောင်ရည် overhead ထပ်ပြောသည်။ SQL query နှင့် database interaction တစ်ခုချင်းစီသည် debug သတင်းအချက်အလက်ကိုထုတ်ပေးပြီး log သို့ logs လုပ်သည်။ ဤသည်ကိုဖြစ်ပေါ်လိမ့်မယ်:
စွမ်းဆောင်ရည်ပျက်စီးခြင်း - စုံစမ်းမှုတစ်ခုစီ၏ Debug output သည်အထူးသဖြင့် Database တုန့်ပြန်မှုအချိန်နှင့်စာမျက်နှာတင်ခြင်းကိုသိသိသာသာအကျိုးသက်ရောက်နိုင်သည်။
ဒေတာဘေ့စ်၏ဖိအား - Debug သတင်းအချက်အလက်မျိုးဆက်သည်အထူးသဖြင့်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းဖြစ်စဉ်များတွင်နောက်ထပ်ဖိအားပေးမှုကိုပြုလုပ်နိုင်သည်။
အချက်အလက်များကို debugging များသောအားဖြင့်အထိခိုက်မခံသောဒေတာဘေ့စ်ဆက်သွယ်မှုသတင်းအချက်အလက်, Debug သတင်းအချက်အလက်သည်ထုတ်လုပ်မှုပတ် 0 န်းကျင်များနှင့်မတော်တဆထိတွေ့မိပါက, ဥပမာအားဖြင့်:
ဒေတာဘေ့စ်ဖွဲ့စည်းပုံကိုဖော်ထုတ်ပါ - debugging သတင်းအချက်အလက်များတွင် debugging အချက်အလက်များတွင်အသေးစိတ်ဒေတာဘေ့စ်ဖွဲ့စည်းပုံတွင်ပါ 0 င်နိုင်သည်။
အထိခိုက်မခံသောအချက်အလက်များကိုယိုစိမ့်မှု - အချို့သောကိစ္စရပ်များတွင် Debug Information သည် Executed SQL query ကိုအသုံးပြုသူထည့်သွင်းမှုသို့မဟုတ်အခြားအထိခိုက်မခံသောအချက်အလက်များပါ 0 င်သည့် Executed SQL query ကိုမှတ်တမ်းတင်နိုင်သည်။
Debug Mode ကိုဖွင့်သောအခါစနစ်သည် log files များစွာကိုစဉ်ဆက်မပြတ်ပြုလုပ်လိမ့်မည်။ ဤမှတ်တမ်းဖိုင်များသည် disk space ကိုဖွင့်ရုံသာမကစာဖတ်ခြင်းနှင့်စီမံရန်အမှားအယွင်းများပြုလုပ်ရန်ခက်ခဲစေသည်။ အလွန်အကျွံမှတ်တမ်း output ကိုဖြစ်ပေါ်စေနိုင်သည်:
Disk Space Space Properio : အကယ်. မှတ်တမ်းတွင်သင့်တော်သောစီမံခန့်ခွဲမှုအစီအမံများမရှိပါကအလွန်အကျွံ debugging information သည် disk ကိုလျင်မြန်စွာဖြည့်ဆည်းပေးနိုင်ပြီးဆာဗာကို crash ဖြစ်စေနိုင်သည်။
မှတ်တမ်းညစ်ညမ်းမှု - အချက်အလက်များကို debugging အချက်အလက်သည်အမှားမှတ်တမ်းကိုရှုပ်ထွေးစေနိုင်ပြီးအမှန်တကယ်အမှားအချက်အလက်များကိုလျင်မြန်စွာရှာဖွေရန်ခက်ခဲသည်။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိအသုံးချပရိုဂရမ်များသည် "အနည်းဆုံးခွင့်ပြုချက်နိယာမ" ကိုလိုက်နာသင့်သည်, MySQLI :: Debug သည် လုံခြုံရေးအကောင်းဆုံးအလေ့အကျင့်များကိုချိုးဖောက်သောပြည်တွင်းသတင်းအချက်အလက်များကိုယိုစိမ့်သွားလိမ့်မည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိဤအချက်အလက်များကိုထိတွေ့ခြင်းသည် ဦး ဆောင်လမ်းပြလိမ့်မည်။
သတင်းအချက်အလက် overload : developer များနှင့်လည်ပတ်မှုနှင့်ပြုပြင်ထိန်းသိမ်းရေးနှင့်ပြုပြင်ထိန်းသိမ်းရေး 0 န်ထမ်းများသည်မသက်ဆိုင်သော debugging information များ၏ကြီးမားသောငွေပမာဏကိုစိတ်အနှောင့်အယှက်ဖြစ်လိမ့်မည်။
လိုက်နာမှုဆိုင်ရာပြ issues နာများ - အချို့သောစက်မှုလုပ်ငန်းများ (ဘဏ် finance ာရေး, ဆေးဘက်ဆိုင်ရာစောင့်ရှောက်မှုစသဖြင့်) အချို့သောစက်မှုလုပ်ငန်းများအရအချက်အလက်များဖောက်ဖျက်ခြင်းအတွက်တင်းကြပ်စွာလိုက်နာမှုလိုအပ်ချက်များရှိသည်။
အချို့ဖြစ်ရပ်များတွင် developer များသည် debug အချက်အလက်ကိုအဆုံးအသုံးပြုသူထံမတော်တဆဖော်ထုတ်နိုင်လိမ့်မည်။ ဥပမာအားဖြင့်, ဤ debugging သတင်းအချက်အလက်များကိုဝက်ဘ်တုန့်ပြန်မှုသို့မဟုတ် API မှတစ်ဆင့် output လုပ်ပါ။ ၎င်းသည်သုံးစွဲသူအတွေ့အကြုံကိုဖျက်ဆီးရုံသာမကတိုက်ခိုက်သူများအားအထိခိုက်မခံသောနောက်ခံသတင်းအချက်အလက်များရရှိရန်ခွင့်ပြုသည်။ ဤအချက်ကိုရှောင်ရှားရန် MySQLI :: Debug ကို ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အမြဲတမ်းပိတ်ထားသင့်သည်။
အကယ်. သင်သည်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင် debug လုပ်ရန်လိုအပ်ပါက MySQLI :: Debug ကို တိုက်ရိုက်အသုံးပြုခြင်းကိုရှောင်ရှားရန်အကောင်းဆုံးနှင့်အောက်ပါအစီအမံများကိုယူပါ။
ဖွံ့ဖြိုးတိုးတက်မှုနှင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်ကိုခွဲခြားရန်နှင့် Debugging enformation များကိုသာခွဲခြားရန်နှင့် Debug Mode ကိုခွဲခြားရန်ပတ် 0 န်းကျင်ဆိုင်ရာ variable များသို့မဟုတ် configuration file များကိုအသုံးပြုပါ။
Debug အချက်အလက်ကိုမှတ်တမ်းတင်ရန်မှတ်တမ်းဖိုင်များကိုအသုံးပြုပါ ။
Debug အချက်အလက်များ၏ output ကိုကန့်သတ်ပါ ။ Debug သတင်းအချက်အလက်များကိုအသုံးပြုရမည်။
Debug သတင်းအချက်အလက်ကိုပိတ်ထားခြင်းနှင့်အမှားမှတ်တမ်းများကိုဖွင့်ပါ ။ MySQLI :: Debug ကို Debug Debug ကိုပိတ်ထားပါ
MySQLI :: Debug သည် ဖွံ့ဖြိုးရေးအဆင့်တွင်အလွန်အသုံးဝင်သည်, ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အသုံးပြုရန်မသင့်တော်ပါ။ Debug Mode ကို အသုံးပြု. စွမ်းဆောင်ရည်ပျက်စီးခြင်း, သတင်းအချက်အလက်ယိုစိမ့်မှုနှင့်မှတ်တမ်းစီမံခန့်ခွဲမှုအခက်အခဲများကဲ့သို့သောအန္တရာယ်အမျိုးမျိုးကိုဖြစ်ပေါ်စေလိမ့်မည်။ ထို့ကြောင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင် MySQLI :: Debug ကို ပိတ်ထားရန်နှင့်ဒေတာဗေ့ interactions ၏အမှားများကိုကိုင်တွယ်ရန်အခြားနည်းလမ်းများကိုအသုံးပြုရန်အကြံပြုသည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိ Debug သတင်းအချက်အလက်သည်အထိခိုက်မခံသောအချက်အလက်များကိုဖော်ထုတ်ရန်အမြဲတမ်းသေချာစေရန်နှင့် logs နှင့်စွမ်းဆောင်ရည်ကိုထိထိရောက်ရောက်စီမံနိုင်သည်။