လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဖွံ့ဖြိုးဆဲနှင့် debugging tools များ - MySQLI :: Get_warening output ကို Real-time စောင့်ကြည့်လေ့လာခြင်း

ဖွံ့ဖြိုးဆဲနှင့် debugging tools များ - MySQLI :: Get_warening output ကို Real-time စောင့်ကြည့်လေ့လာခြင်း

gitbox 2025-05-26

MySQLI :: get_warening ဆိုတာဘာလဲ။

MySQLI :: Get_warenings သည် MySQLI တိုးချဲ့ခြင်းမှ MySQLI တိုးချဲ့ခြင်းမှပေးသော MySQLI extension မှထုတ်လွှင့်သော MySQLI extension မှထုတ်ပေးသည့်နည်းလမ်းတစ်ခုဖြစ်သည်။ MySQLI_Warning အရာဝတ်ထုတစ်ခု၏ကွင်းဆက်တစ်ခုချင်းစီသည်အမှားအယွင်းများနှင့်သတိပေးချက်များကဲ့သို့သောသတိပေးချက်အသေးစိတ်ပါ 0 င်သည်။

ဤသတိပေးချက်များကိုဖြတ်သန်းခြင်းဖြင့် developer များကအတိအလင်းပစ်ချခြင်းမရှိသောအသေးစိတ်အချက်အလက်များကိုဖမ်းယူနိုင်သော်လည်းအချက်အလက်မှန်ကန်မှုကိုထိခိုက်နိုင်သည်။


ဒေတာဘေ့စ်သတိပေးချက်များကိုစောင့်ကြည့်ခြင်းအတွက်အခြေခံအကြံဥာဏ်များ

  1. SQL query ကိုကွပ်မျက်ပြီးနောက် Get_warenings ကို သတိပေးပါ။ သတိပေးချက်တစ်ခုရှိမရှိစစ်ဆေးပါ။

  2. သတိပေးကွင်းဆက်ကိုဖြတ်ပြီးသတိပေးသတင်းအချက်အလက်များစုဆောင်းပါ။

  3. သတိပေးအချက်အလက်သည်နောက်ဆက်တွဲခွဲခြမ်းစိတ်ဖြာခြင်းကိုအဆင်ပြေစေရန်အတွက်အစစ်အမှန်အချိန်အတွက်ရလဒ်ကိုသိမ်းဆည်းထားသည်။

  4. ၎င်းကိုမှတ်တမ်းစနစ်သို့မဟုတ်အမြင်အာရုံစောင့်ကြည့်လေ့လာရေးကိရိယာတစ်ခုဖွဲ့စည်းရန် log system သို့မဟုတ်ရှေ့မျက်နှာပြင်မျက်နှာပြင်နှင့်ပေါင်းစပ်နိုင်သည်။


နမူနာကုဒ်

အောက်ပါဥပမာသည် SQL ကြေငြာချက်အားမည်သို့လုပ်ဆောင်ရမည်ကိုပြသပြီး MySQLI :: Get_warenings မှထွက်လာသောသတင်းအချက်အလက်များကိုထုတ်ဖော်ပြောဆိုရန်နှင့်သတိပေးအချက်အလက်များကိုထုတ်ဖော်ပြသခြင်းကိုပြသသည်။

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}

// နမူနာ SQL:ထပ်တူအဓိက key ကိုထည့်ခြင်းသတိပေးချက်တစ်ခုဖြစ်ပေါ်စေနိုင်သည်
$sql = "INSERT INTO test_table (id, name) VALUES (1, 'Alice')";

// တစ် ဦး စုံစမ်းမှု execute
if ($mysqli->query($sql) === TRUE) {
    echo "အောင်မြင်စွာစုံစမ်းမှုကွပ်မျက်\n";

    // သတိပေးချက်ရယူပါ
    if ($warnings = $mysqli->get_warnings()) {
        do {
            echo "သတိပေးနံပါတ်: " . $warnings->errno . "\n";
            echo "သတိပေးစာ: " . $warnings->message . "\n";
        } while ($warnings = $warnings->next());
    } else {
        echo "သတိပေးချက်မရှိပါ\n";
    }
} else {
    echo "စုံစမ်းမှုကွပ်မျက်မှုမအောင်မြင်ပါ: " . $mysqli->error . "\n";
}

$mysqli->close();
?>

Real-time စောင့်ကြည့်လေ့လာရေးသတိပေးချက်များတိုးချဲ့ခြင်း

1 ။ အလိုအလျောက်မှတ်တမ်းဖိုင်များကိုရေးပါ

သတင်းအချက်အလက်များကိုဆက်လက်ပြင်ဆင်ရန်အတွက်သင်သတိပေးချက်များကိုသင်ရေးသားနိုင်ပါသည်။

 function logWarnings($mysqli) {
    if ($warnings = $mysqli->get_warnings()) {
        $logFile = 'db_warnings.log';
        do {
            $log = date('Y-m-d H:i:s') . " - Warning {$warnings->errno}: {$warnings->message}\n";
            file_put_contents($logFile, $log, FILE_APPEND);
        } while ($warnings = $warnings->next());
    }
}

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

2 ။ ရှေ့ -D-end စာမျက်နှာ၏အချိန်နှင့်တပြေးညီပြသမှု

PHP scripts ကို Ajax မှတစ်ဆင့်ခေါ်ဆိုမှုသည်နောက်ဆုံးပေါ်သတိပေးချက်များကိုပြန်ပို့သည်။ ရှေ့ပြေးစာမျက်နှာသည်သတိပေးစာရင်းကိုအချိန်မှန်သို့မွမ်းမံနိုင်သည်။ developer များကြည့်ရှုရန်ပိုမိုလွယ်ကူစေသည်။


မှတ်သားရန်အရာ

  • သတိပေးချက်များသည်လတ်တလောဒေတာဘေ့စ်လည်ပတ်မှုနှင့်သာသက်ဆိုင်သည်။

  • MySQLI :: Get_warenings သည် MySQL ဆာဗာသည်သတိပေးယန္တရားများကိုထောက်ခံသည့်အခါသာတရားဝင်သည်။

  • မကြာခဏမေးမြန်းခြင်းနှင့်မှတ်တမ်းတင်ခြင်းသတိပေးချက်များသည်စွမ်းဆောင်ရည်အပေါ်သက်ရောက်မှုရှိသည်။ ပတ် 0 န်းကျင်သို့မဟုတ်ခြွင်းချက်စောင့်ကြည့်လေ့လာခြင်းကိုဖျက်သိမ်းခြင်းမှသာလျှင်၎င်းကိုဖွင့်ရန်အကြံပြုသည်။


အကျဉ်းချုပ်

PHP ၏ MySQLI :: Get_warenning function ကိုအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်လုပ်ငန်းများတွင်သတိပေးအချက်အလက်များကိုထိရောက်စွာရယူနိုင်သည်။ သစ်ထုတ်လုပ်ရေးနှင့်အချိန်မှန်တင်ဆက်မှုနည်းပညာကိုပေါင်းစပ်ခြင်းအားဖြင့်ရိုးရှင်းသောဒေတာဘေ့စ်သတိပေးစောင့်ကြည့်ရေးကိရိယာတစ်ခုတည်ဆောက်ရန်တည်ဆောက်ရန်တည်ဆောက်နိုင်ပြီးဒေတာဘေ့စ် 0 င်ရောက်မှုနှင့် application performance ကိုပိုမိုကောင်းမွန်စေရန်ကူညီရန်တည်ဆောက်နိုင်သည်။