MySQLI :: Debug သည် MySQL databases နှင့်အပြန်အလှန်ဆက်သွယ်သောအခါအသေးစိတ်အချက်အလက်များကိုကြည့်ရှုရန် Debugging To Debug သည် Developer များကအသေးစိတ်အချက်အလက်များကိုကြည့်ရှုရန်အထောက်အကူပြုသည်။ MySQLI :: Debug ကို ခေါ်ဆိုခြင်းအားဖြင့်သင်သည် Execution process, အမှားသတင်းအချက်အလက်များစသည်တို့ကိုပုံနှိပ်ထုတ်လွှင့်နိုင်သည်။ MySQLI :: Debug ကို အသုံးပြုသည့်အခါတွင် developer များစွာသည် Developer များကတွေ့ရှိရသည်။ ဤဆောင်းပါးသည်ပြ problem နာကိုရှာဖွေရန်ကူညီရန်မတူကွဲပြားသောအကြောင်းရင်းအချို့ကိုဖော်ပြလိမ့်မည်။
MySQLI :: Debug MySQL ၏ debugging function ကိုသေချာစေရန်လိုအပ်သည်။ MySQL Configuration သည် debugging ကိုမဖွင့်ပါက MySQLI :: debug ကို ခေါ်ဆိုသည့်အခါအကျိုးသက်ရောက်မှုမရှိပါ။ MySQL configuration file (များသောအားဖြင့် my.cnf သို့မဟုတ် my.ini ) သည် debugging enabled ရှိမရှိစစ်ဆေးနိုင်သည်ကိုသင်စစ်ဆေးနိုင်သည်။
SHOW VARIABLES LIKE 'log_output';
Log_output variable ၏တန်ဖိုးသည် ဇယား သို့မဟုတ် ဖိုင်၏တန်ဖိုးမှာစားပွဲတင်သို့မဟုတ်ဖိုင် ဖြစ်သည်ကိုသေချာအောင်လုပ်ပါ။
MySQLI connection တစ်ခုဖန်တီးသောအခါ debing ကိုမပံ့ပိုးသော connection method ကိုသင်အသုံးပြုပါက MySQLI :: Debug သည် အလုပ်မလုပ်ပါ။ ဥပမာ MySQLI_Connect () နည်းလမ်းကို အသုံးပြု. ဒေတာဘေ့စ်ကိုဆက်သွယ်သည့်အခါ debugging သည်အကျိုးသက်ရောက်မည်မဟုတ်ပါ။ Debugging function ကိုပုံမှန်လုပ်ဆောင်ခြင်းကိုသေချာစေရန် Database connection များကိုဖန်တီးရန်အရာဝတ်ထု ဦး တည်သည့်နည်းလမ်းကိုအသုံးပြုရန်အကြံပြုသည် -
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
$mysqli->debug("test");
အကယ်. သင်သည် MySQLI_Connect ကို အသုံးပြုနေပါကအခြား configurations များကိုစစ်ဆေးရန်သို့မဟုတ်အရာဝတ်ထု -oriented ချဉ်းကပ်မှုသို့ပြောင်းရန်သေချာအောင်လုပ်ပါ။
တစ်ခါတစ်ရံအချက်အလက်များကို debugging အချက်အလက်သည် log file တစ်ခုသို့ output ကို output လုပ်လိမ့်မည်။ Php.ini configuration ကို browser တွင်မှန်ကန်စွာဖော်ပြရန်သေချာစေရန်သင်ကြိုးစားနိုင်သည်။
အောက်ပါ configuration ကို php.ini တွင်ဖွင့်ပါ။
display_errors = On
error_reporting = E_ALL
တစ်ချိန်တည်းမှာပင် PHP output သည်ကြားခံခြင်းမဟုတ်ကြောင်းအတည်ပြုပါ, output buffering ကိုပိတ်ထားနိုင်သည်သို့မဟုတ်ကြားကြားမှုကိုရှင်းလင်းနိုင်ကြောင်းအတည်ပြုပါ။
ob_end_flush();
သင်၏ကုဒ်သည် MySQLI :: Debug မှ URL output ကိုအသုံးပြုပါက Debug (database သို့ဆက်သွယ်ခြင်းကဲ့သို့သော URL) တွင် debug တွင်မပါ 0 င်ပါ။ ဥပမာအားဖြင့်,
$mysqli->real_connect("http://m66.net/dbconnect");
ပြီးတော့သင်မှားယွင်းတဲ့မှားယွင်းတဲ့ URL ကိုသုံးဖူးပေမည်။ URL သည်မှန်ကန်ကြောင်းသေချာစေရန်နှင့်သင်၏ MySQL ဝန်ဆောင်မှုနှင့်ကိုက်ညီပါစေ။ Connection URL သည်မှားလျှင် MySQLI :: Debug Debug ထုတ်ယူခြင်းသည်ကျရှုံးလိမ့်မည်။
MySQLI :: Debug ကို မှန်ကန်သောနေရာတွင်ခေါ်ရမည်။ MySQL မေးမြန်းမှုကိုမပြုလုပ်မီသက်ဆိုင်ရာ debug အချက်အလက်ကိုထုတ်ယူရန်နှင့်ပုံနှိပ်ရန်ပုံနှိပ်ခြင်းမပြုမီဟုခေါ်သင့်သည်။ အကယ်. သင်ကစုံစမ်းမှုကွပ်မျက်ခံရပြီးနောက်သင်ကခေါ်ပါက Debug သတင်းအချက်အလက်ပျောက်ဆုံးသွားနိုင်သည်။ ဒေတာဘေ့စ်လုပ်ငန်းများကိုမလုပ်ဆောင်မီ၎င်းကိုသေချာစွာအသုံးပြုပါ။
$mysqli->debug("Debugging MySQL Query");
$query = "SELECT * FROM users";
$result = $mysqli->query($query);
MySQLI :: Debug ကို အဓိကအားဖြင့်စုံစမ်းမှုအကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်၏အသေးစိတ်အချက်အလက်များကိုပုံနှိပ်ရန်အဓိကအားဖြင့်အသုံးပြုသည်။ သင်၏မေးမြန်းမှုသည်အဆင်ပြေလျှင်၎င်းသည်အသုံးဝင်သော debugging အချက်အလက်များကိုထုတ်ပြန်ခြင်းမရှိပါ။ သင်၏ရှာဖွေမှုသည်အမှန်တကယ်ပြ problem နာဖြစ်သည့်သို့မဟုတ်ပိုမိုရှုပ်ထွေးသောမေးမြန်းချက်များပိုမိုများပြားလာသည်။
Debug output ကိုသင်မမြင်ရသေးပါက browser cache သို့မဟုတ် server configuration ကိုစစ်ဆေးပါ။ အချို့သောဆာဗာများသည် output ကို cache လုပ်. debug အချက်အလက်များကိုအချိန်မှန်တွင်မတွေ့ရပါ။ browser cache ကိုရှင်းလင်းခြင်းသို့မဟုတ်ဆာဗာပေါ်ရှိ cache feature ကို disable လုပ်ခြင်းသည်ဤပြ issue နာကိုဖြေရှင်းနိုင်သည်။
MySQLI :: Debug သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော်၎င်းသည်ကိစ္စရပ်အားလုံးတွင်အချက်အလက်များကိုအလိုအလျောက်ထုတ်ပြန်ခြင်းမရှိပါ။ အကယ်. သင်သည်တုန့်ပြန်မှုမရှိပါက၎င်းကိုအထက်ဖော်ပြပါအကြောင်းပြချက်များအရ၎င်းကိုတစ်ခုစီစစ်ဆေးပြီး၎င်းသည်စနစ်တကျအလုပ်လုပ်ရန်ပြင်ဆင်မှုကိုညှိနိုင်သည်။ အချက်အလက်များကို debugging အချက်အလက်များသည်သင့်အားအလားအလာရှိသောဒေတာဘေ့စ်၏ဆက်သွယ်မှုပြ problems နာများ,
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli