လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: PHP အမှားမှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ချိတ်ဆက်ခြင်း

MySQLI :: PHP အမှားမှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ချိတ်ဆက်ခြင်း

M66 2025-06-02

PHP Development တွင် Database connection များနှင့်လုပ်ငန်းများသည်အသုံးအများဆုံးအလုပ်များထဲမှတစ်ခုဖြစ်သည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့်စုံစမ်းမှုလုပ်ငန်းများသည်အကြောင်းပြချက်အမျိုးမျိုးကြောင့်ပျက်ကွက်နိုင်ပြီး MySQLI သည် MySQLI :: Debug နည်းလမ်းအားဒေတာဘေ့စ်စစ်ဆင်ရေးပြ problems နာများကိုရှာဖွေတွေ့ရှိရန်ကူညီရန် MySQLI :: Debug နည်းလမ်းကိုထောက်ပံ့ပေးသည်။ PHP အမှားမှတ်တမ်းများနှင့်ပေါင်းစပ်ပြီးဒေတာဘေ့စ်ဆက်သွယ်မှုများတွင်ပြ issues နာများကိုပိုမိုထိရောက်စွာရှာဖွေရန်နှင့်ဖြေရှင်းရန်ဖြစ်နိုင်သည်။

1 ။ MySQLI :: Debug ဆိုတာဘာလဲ။

MySQLI :: Debug သည် PHP ရှိ MySQLI အတန်းအစား၏ debugging function ဖြစ်သည်။ ဤနည်းလမ်းကိုခေါ်ဆိုခြင်းဖြင့် developer များကဒေတာဘေ့စ်ဆက်သွယ်မှုများ,

2 ။ PHP အမှားမှတ်တမ်းကိုဖွင့်ပါ

MySQLI :: Debug နှင့်အသုံးပြုရန်အတွက်ပထမ ဦး စွာကျွန်ုပ်တို့သည် PHP အမှားသစ်ထုတ်လုပ်ရေး function ကိုဖွင့်ထားကြောင်းသေချာစေရန်လိုအပ်သည်။ PHP.INI ဖိုင်တွင် logging လုပ်ခြင်းသို့မဟုတ် php code မှတဆင့်အမှားမှတ်တမ်းလမ်းကြောင်းကို dynamically လုပ်နိုင်သည်။

 // တည်ဆောက်သည် PHP အမှားမှတ်တမ်း
ini_set('log_errors', 1);  // 开启အမှားမှတ်တမ်း记录
ini_set('error_log', '/path/to/your/error.log');  // တည်ဆောက်သည်日志文件路径

မှတ်တမ်းဖိုင်လမ်းကြောင်းသည်မှန်ကန်ကြောင်းသေချာစေရန်နှင့် PHP သည်ဖိုင်ကိုရေးရန်ခွင့်ပြုချက်ရှိသည်။

3 ။ MySQLI :: Debug ကို အသုံးပြု. debugging အတွက် debug

MySQLI ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပြီးနောက် SQL ကြေငြာချက်၏ debug အချက်အလက်ကိုထုတ်ပြန်ရန် Debug နည်းလမ်းကိုသင်ခေါ်ဆိုနိုင်သည်။ ဤနည်းလမ်းသည်ဒေတာဘေ့စ်၏ဆက်သွယ်မှုဆိုင်ရာပြ issues နာများကိုရှာဖွေခြင်းအတွက်အထူးထိရောက်သောဖြစ်သည်။

 <?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "username", "password", "database");

// စွမ်းဆောင်နိုင်စေ mysqli Debug Mode
$mysqli->debug("m66.net");

// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
    error_log("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
    die("ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်မအောင်မြင်ပါ");
}

// နမူနာစုံစမ်းမှု
$result = $mysqli->query("SELECT * FROM users");

// output query ကိုရလဒ်များ
if ($result) {
    while ($row = $result->fetch_assoc()) {
        echo "အသုံးပြုသူ ID: " . $row['id'] . "<br>";
    }
} else {
    // Query ပျက်ကွက်သည့်အခါအမှားအယွင်းများကိုသစ်ထုတ်လုပ်ခြင်း
    error_log("အမှားအမှား: " . $mysqli->error);
}

$mysqli->close();
?>

4 ။ PHP အမှားမှတ်တမ်းနှင့် Debug အချက်အလက်များချိတ်ဆက်ထားသည်

အထက်ဖော်ပြပါကုဒ်များတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုပျက်ကွက်ခြင်းသို့မဟုတ်စုံစမ်းမှုအမှားများဖြစ်ပေါ်သောအခါ PHP သည်အမှားမှတ်တမ်းကိုအမှားမှတ်တမ်းသို့အလိုအလျောက်မှတ်တမ်းတင်လိမ့်မည်။ တစ်ချိန်တည်းမှာပင် MySQLI :: Debug နည်းလမ်းအားဖြင့် သတင်းအချက်အလက်ထုတ်လုပ်မှုကို debugging output ကိုလည်းနောက်ခံအချက်အလက်များဖြင့် developer များကိုလည်းပေးလိမ့်မည်။ ၎င်းသည်ကွန်ရက်ပြ problems နာများ, ပြင်ဆင်မှုအမှားများစသည့်ဒေတာဘေ့စ်ဆက်သွယ်မှုပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်ခွင့်ပြုသည်။

ဤတွင်မှတ်တမ်းဖိုင်၏ဥပမာတစ်ခု ( error_log တွင်ကျွန်ုပ်တို့သတ်မှတ်ထားသည့်မှတ်တမ်းလမ်းကြောင်းသည် / 0 င် သည်။

 [2025-04-23 14:45:12] PHP Warning:  mysqli::debug() is deprecated in /path/to/your/script.php on line 5
[2025-04-23 14:45:15] PHP Notice:  Undefined index: id in /path/to/your/script.php on line 18
[2025-04-23 14:45:18] Connection failed: Access denied for user 'username'@'localhost'
[2025-04-23 14:45:20] Query Error: Unknown column 'users' in 'field list'

ဤအမှားများနှင့် debug အချက်အလက်သည်အမှား၏အကြောင်းရင်းကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိရန်ကူညီလိမ့်မည်။ MySQLI :: Debug နှင့် PHP အမှားမှတ်တမ်းများကိုပူးတွဲအသုံးပြုခြင်းအားဖြင့် developer များဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်း debugging ထိရောက်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။

5 ။ အကျဉ်းချုပ်

MySQLI :: Debug နှင့် PHP အမှားမှတ်တမ်းများပေါင်းစပ်မှုသည် PHP developer များကိုအားကောင်းသည့် debugging tools များဖြင့် PHP developer များကိုထောက်ပံ့ပေးသည်။ ဒေတာဘေ့စ် connection သို့မဟုတ် query ပြ problems နာများကိုသင်ကြုံတွေ့ရသောအခါပြ problem နာကိုပိုမိုရှင်းလင်းစွာရှာဖွေရန် Debug သတင်းအချက်အလက်နှင့်အမှားမှတ်တမ်းများကို debug အချက်အလက်နှင့်အမှားမှတ်တမ်းများကိုသုံးနိုင်သည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင် debugging ကိုစနစ်တကျပိတ်ထားပြီးအထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်မှုမှရှောင်ရှားရန်အမှားမှတ်တမ်းဖိုင်များကိုစနစ်တကျစီမံပါ။