ဒေတာဘေ့စ်မေးမြန်းချက်များ၏စွမ်းဆောင်ရည်သည် PHP applications များကိုတီထွင်သောအခါဘုံပြ problem နာဖြစ်သည်။ နှေးကွေးသောမေးမြန်းချက်များသည်စနစ်၏တုန့်ပြန်မှုမြန်နှုန်းကိုသာအကျိုးသက်ရောက်စေရုံသာမကဆာဗာဝန်တိုးပွားလာနိုင်သည်။ ဤပြ problem နာကိုထိထိရောက်ရောက်ဖြေရှင်းနိုင်ရန်အတွက် MySQL သည် SQL ၏မေးမြန်းချက်များကိုခြေရာခံရန်ကူညီနိုင်သည့်အစွမ်းထက် debugging tool - mySqli :: debuggugging ကို ထောက်ပံ့ပေးသည်။ ဤဆောင်းပါးသည် MySQLI :: Debug function ကိုထိရောက်စွာရှာဖွေရန်နှင့် Debug Debug function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
MySQLI :: Debug သည် MySQLI extension မှပေးထားသော debugging method တစ်ခုဖြစ်သည်။ developer များဤလုပ်ဆောင်မှုမှတစ်ဆင့် MySQL ဆက်သွယ်မှုများ၏အချက်အလက်များကိုထုတ်ပြန်ခြင်းသတင်းအချက်အလက်များကိုထုတ်ပြန်ခြင်းကိုခွင့်ပြုသည်။ MySQLI :: Debug ကို အသုံးပြုခြင်းသည်ချွင်းချက်များနှင့်ပိုမိုဆက်စပ်မှုရှိမရှိမေးမြန်းမှုဆိုင်ရာကွပ်မျက်မှုအချိန်အပါအ 0 င်ဒေတာဘေ့စ်မေးမြန်းချက်များအကြောင်းအသေးစိတ်မှတ်တမ်းများကိုကြည့်ရှုနိုင်သည်။
MySQLI :: debug ကို enable လုပ်ဖို့, ပထမ ဦး စွာ MySQLI connection တစ်ခုဖန်တီးရန်လိုအပ်သည်။ ထို့နောက် debugging သတင်းအချက်အလက်များကိုစတင်ဖမ်းယူရန် MySQLI :: Debug function ကိုခေါ်ပါ။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
// ဖန်တီး MySQLi ဆက်
$mysqli = new mysqli("localhost", "root", "password", "database_name");
// 检查ဆက်是否成功
if ($mysqli->connect_error) {
die("ဆက်失败: " . $mysqli->connect_error);
}
// စွမ်းဆောင်နိုင်စေ debug ပုံစံ
$mysqli->debug('trace');
// တစ် ဦး စုံစမ်းမှု execute
$query = "SELECT * FROM users WHERE status = 'active'";
$result = $mysqli->query($query);
// ရလဒ်ရလဒ်
if ($result) {
while ($row = $result->fetch_assoc()) {
echo "အသုံးပြုသူ: " . $row['name'] . "<br>";
}
} else {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}
// 关闭ဆက်
$mysqli->close();
?>
အထက်ဖော်ပြပါကုဒ်များတွင် ဒေါ်လာ MySQLI-> Debug ('Trace' Debug) သည် Debug Mode ကိုဖွင့်ပြီးရိုးရှင်းသောစုံစမ်းမှုတစ်ခုပြုလုပ်သည်။ ဤအချိန်တွင် MySQL ဆက်သွယ်မှုနှင့်ပတ်သက်သောသတင်းအချက်အလက်အားလုံးကိုပြ problems နာများကိုဖြေရှင်းရန်လွယ်ကူစေရန်လွယ်ကူစေရန်မျက်နှာပြင်ပေါ်တွင်ပြသလိမ့်မည်။
MySQLI :: Debug ကို ဖွင့်သောအခါစနစ်သည်အသေးစိတ်အချက်အလက်များကိုထုတ်ပေးလိမ့်မည်။ ဤအချက်အလက်သည်သင့်အားအလားအလာရှိသောစွမ်းဆောင်ရည်မြှင့်တင်မှုများသို့မဟုတ်အမှားများကိုဖော်ထုတ်ရန်ကူညီနိုင်သည်။ ဘုံ output အကြောင်းအရာများတွင်:
စုံစမ်းမှုဖော်ပြချက် - အကောင်အထည်ဖော်မှုအားလုံးကိုပြသထားတယ်။
Query Excellution Time - အကယ်. စုံစမ်းမှုကွပ်မျက်ချိန်သည်ကြာမြင့်စွာရှိလျှင်၎င်းသည်နှေးကွေးသောမေးမြန်းချက်များကိုရှာဖွေတွေ့ရှိရန်ကူညီလိမ့်မည်။
အမှားမက်ဆေ့ခ်ျ - ဥပမာအားဖြင့် Query မအောင်မြင်သည့်အမှားကုဒ်များနှင့်မက်ဆေ့ခ်ျများကဲ့သို့။
ဆက်သွယ်မှုအချက်အလက် - MySQL protocol, version စသည်ဖြင့်လက်ရှိဆက်သွယ်မှု၏အသေးစိတ်အချက်အလက်များကိုဖော်ပြထားသည်။
နှေးကွေးသောစုံစမ်းမှုပြ problems နာများကိုသင်ကြုံတွေ့ရသောအခါ MySQLI :: Debug မှအချက်အလက်များကို debugging လုပ်ခြင်းကိုဖမ်းယူနိုင်ပြီးနှေးကွေးသောစုံစမ်းမှု၏အကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာနိုင်သည်။ အဆင့်များကိုလိုက်နာခြင်းဖြင့်နှေးကွေးသောစုံစမ်းမှုများကိုခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
Debug Mode ကို Enable လုပ်ပါ ။
Execute query : လျှောက်လွှာတွင် SQL Query များကို Execute လုပ်ပါ။
output ကိုခွဲခြမ်းစိတ်ဖြာပါ - SQL query query နှင့် Execution Time ကိုစစ်ဆေးပါ။ အကယ်. မေးမြန်းချက်အချို့သည်ကြာမြင့်စွာကွပ်မျက်ခံရလျှင်၎င်းတို့ကိုနှေးကွေးစေသည်။
Optimized Query : နှေးကွေးသောစုံစမ်းမှုများအတွက်, indexing လိုအပ်ကြောင်းသို့မဟုတ်မေးမြန်းချက်များကိုအခြားနည်းလမ်းများအပေါ်အကောင်းဆုံးနည်းလမ်းဖြစ်စေဖြစ်စေ,
MySQLI :: Debug မှတစ်ဆင့် MySQL မှ Debug သတင်းအချက်အလက်ထုတ်လုပ်မှုအပြင် MySQL သည် log files များတွင် log in လုပ်ရန်နှေးကွေးသောမေးမြန်းချက်များကိုလည်းခွင့်ပြုသည်။ နှစ် ဦး စလုံးပေါင်းစပ်ခြင်းအားဖြင့်သင်သည်နှေးနှေးစုံစမ်းမှုပြ problems နာများကိုပိုမိုထိရောက်စွာခွဲခြမ်းစိတ်ဖြာ။ ဖြေရှင်းနိုင်သည်။
MySQL configuration files များတွင်နှေးကွေးသောစုံစမ်းမှုမှတ်တမ်းများကိုဖွင့်ပါ။
[mysqld]
slow_query_log = 1
slow_query_log_file = /path/to/your/slow_query.log
long_query_time = 1 # မှတ်တမ်းများထက်ကျော်လွန် 1 စက္ကန့်အတွင်းစုံစမ်းမှု
ဤနည်းအားဖြင့်စုံစမ်းမှု၏ကွပ်မျက်မှု၏သတ်မှတ်ချိန်ကျော်လွန်သောအခါ MySQL သည်မှတ်တမ်းသို့မေးမြန်းချက်များကိုမှတ်တမ်းတင်လိမ့်မည်။ သင်ဤမှတ်တမ်းဖိုင်များကိုပုံမှန်နှေးကွေးသောမေးမြန်းချက်များကိုရှာဖွေရန်နှင့်၎င်းတို့ကိုအကောင်းဆုံးဖြစ်စေရန်ပုံမှန်စစ်ဆေးနိုင်သည်။
MySQLI :: Debug ကို သုံး. အ 0 တ်အထင်ကရသောအခြေအနေများတွင်နှေးကွေးသောစုံစမ်းမှုတစ်ခုရှိသည်ဆိုပါစို့။
<?php
// ဖန်တီး MySQLi ဆက်
$mysqli = new mysqli("localhost", "root", "password", "m66_net_database");
// စွမ်းဆောင်နိုင်စေ debug ပုံစံ
$mysqli->debug('trace');
// တစ် ဦး စုံစမ်းမှု execute
$query = "SELECT * FROM orders WHERE order_date > '2023-01-01' AND status = 'pending'";
$result = $mysqli->query($query);
// စုံစမ်းမှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($result) {
while ($row = $result->fetch_assoc()) {
echo "အမိန့်ID: " . $row['order_id'] . "<br>";
}
} else {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}
// 关闭ဆက်
$mysqli->close();
?>
အထက်ဖော်ပြပါကုဒ်သည်စုံစမ်းမှုကြေညာချက်ကိုဖြည်းဖြည်းချင်းကွပ်မျက်ခံရသည်ဟုယူဆရသော MySQLI :: Debug သည် သင့်အားစွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုရှာဖွေရန်အသေးစိတ်အချက်အလက်များကိုပေးလိမ့်မည်။
MySQLI :: Debug သည် developer များရှာဖွေရေးပြ problems နာများကိုရှာဖွေရန်နှင့်ပြ esh နာများကိုရှာဖွေရန်နှင့်ပြ esh နာများကိုဖြေရှင်းရန်ကူညီနိုင်သည့်အစွမ်းထက် debugging tool တစ်ခုဖြစ်သည်။ Debug Mode ကိုဖွင့်ပြီး output သတင်းအချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာခြင်းအားဖြင့်နှေးကွေးသောစုံစမ်းမှုများအတွက်အကြောင်းပြချက်များကိုအလွယ်တကူရှာဖွေနိုင်ပြီးဒေတာဘေ့စ်လုပ်ငန်းများကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။ MySQL ၏နှေးကွေးသောစုံစမ်းမှုမှတ်တမ်းနှင့်အတူသင်သည်စုံစမ်းမှု၏စွမ်းဆောင်ရည်မြှင့်တင်ခြင်း၏စွမ်းဆောင်ရည်မြှင့်တင်ရေးနှင့်လျှောက်လွှာကိုထိရောက်စွာလုပ်ဆောင်နိုင်အောင်သင်ပိုမိုနားလည်သဘောပေါက်နားလည်နိုင်သည်။