လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Get_warenings အတွက်အကြံပြုထားသောအသုံးပြုမှုပုံစံများနှင့်ကြိုတင်ကာကွယ်မှုများ

MySQLI :: Get_warenings အတွက်အကြံပြုထားသောအသုံးပြုမှုပုံစံများနှင့်ကြိုတင်ကာကွယ်မှုများ

gitbox 2025-05-26

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

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


အကြံပြုအသုံးပြုမှု mode ကို

1 ။ အခြေခံအသုံးပြုမှု

သတိပေးချက်တစ်ခုထုတ်ပေးနိုင်သည့် SQL ကြေငြာချက်ကိုလုပ်ဆောင်ပြီးနောက်သတိပေးချက်ကို Get_warenings မှတစ်ဆင့်ရယူပါ။

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

$mysqli->query("INSERT INTO users (id, name) VALUES (1, 'Alice'), (1, 'Bob')"); // ထူးခြားသောကန့်သတ်များ၏ဖြစ်နိုင်သောချိုးဖောက်မှု

if ($warning = $mysqli->get_warnings()) {
    do {
        printf("Warning: %d: %s\n", $warning->errno, $warning->message);
    } while ($warning->next());
    $warning->close();
}
?>

ဤကုဒ်တွင် Get_warenings () သည် MySQLI_Warning အရာဝတ်ထုတစ်ခုကိုပြန်လည်ထူထောင်နိုင်သည့် MySQLI_Warning အရာဝတ်ထုတစ်ခုကိုပြန်လည်ပေးနိုင်သည်။


2 ။ ခြွင်းချက်ကိုင်တွယ်နှင့်အတူပေါင်းစပ်အတွက်အသုံးပြုပါ

သင်၏စီမံကိန်းတွင်ဒေတာဘေ့စ်အမှားများကိုဖမ်းရန်ခြွင်းချက်များကိုသင်အသုံးပြုပါက Get_warenings မှတစ်ဆင့်ဆိုးဝါးသောသတိပေးချက်များကိုသင်ရရှိနိုင်ပါက -

 <?php
$mysqli = new mysqli('gitbox.net', 'user', 'password', 'database');
$mysqli->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT;

try {
    $mysqli->query("UPDATE products SET price = price * 1.1 WHERE id = 5");
    
    if ($warning = $mysqli->get_warnings()) {
        do {
            error_log("MySQL Warning: {$warning->errno} - {$warning->message}");
        } while ($warning->next());
        $warning->close();
    }
} catch (mysqli_sql_exception $e) {
    echo "Error: " . $e->getMessage();
}
?>

ဤအချိန်တွင်ပုံမှန်အမှားများကိုခြွင်းချက်များဖြင့်ဖမ်းမိပြီးသတိပေးချက်များကိုမှတ်တမ်းတင်ထားသည်။


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

သုတ်သင်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသောအရောင်းအ 0 ယ်များကိုအသုတ်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသောအရောင်းအ 0 ယ်များကိုလုပ်ဆောင်သောအခါသတိပေးသတင်းအချက်အလက်သည်အထူးအရေးကြီးသည်။

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

$values = [
    "(1, 'LongNameExceedingLimit')",
    "(2, 'NormalName')"
];
$sql = "INSERT INTO customers (id, name) VALUES " . implode(',', $values);

$mysqli->query($sql);

if ($warning = $mysqli->get_warnings()) {
    while ($warning) {
        echo "Warning {$warning->errno}: {$warning->message}\n";
        $warning = $warning->next();
    }
}
?>

ဤသည်သည် Data tutnations ထိုကဲ့သို့သောလယ်ယာအရှည်များကဲ့သို့ data tutnations သတိပေးချက်များကိုရှာဖွေတွေ့ရှိနိုင်ပါတယ်။


ဘုံကြိုတင်ကာကွယ်မှုများ

1 ။ Supported MySQL ဗားရှင်းအပေါ်သာတရားဝင်

Get_warenings သည် MySQL ဆာဗာတွင်သတိပေးမက်ဆေ့ခ်ျများကိုပံ့ပိုးရန်နှင့်များသောအားဖြင့် MySQL 5.6 နှင့်အထက်လိုအပ်သည်။ အနိမ့်ဗားရှင်းသတိပေးချက်မရသို့မဟုတ်မတည်မငြိမ်ပြုမူလိမ့်မည်မဟုတ်ပါ။

2 ။ စုံစမ်းမှုပျက်ကွက်သည့်အခါသတိပေးမရနိုင်ပါ

ကြီးမားသောအမှားတစ်ခုကြောင့် SQL query ပျက်ကွက်သောအခါ Get_warenings သည် သတိပေးသတင်းစကားကိုမပြန်ပါ။ အမှားကိုင်တွယ်သည့်ယန္တရားမှအမှားကိုဖမ်းမိသင့်သည်။

3 ။ အရင်းအမြစ်များကိုဖြန့်ချိရန်အာရုံစိုက်ပါ

Get_warenings () ကို ခေါ်ဆိုခြင်းဖြင့်ပြန်လာသောအရာဝတ်ထုသည်မှတ်ဉာဏ်ယိုစိမ့်မှုကိုကာကွယ်ရန်နောက်ခံအရင်းအမြစ်ကိုထုတ်လွှတ်ရန် နီးကပ်စွာ () နည်းလမ်းကိုအတိအလင်းခေါ်ဆိုရန်လိုအပ်သည်။

4 ။ သတိပေးအချက်အလက်များသည်အထိခိုက်မခံသောအချက်အလက်များပါ 0 င်နိုင်သည်

သတိပေးချက်များသည်တစ်ခါတစ်ရံတွင် SQL Details သို့မဟုတ် data status ကိုဖော်ထုတ်နိုင်သည်။ သတင်းအချက်အလက်ယိုစိမ့်မှုကိုရှောင်ရှားရန် Log output ကိုဂရုတစိုက်ကိုင်တွယ်ရန်သေချာပါစေ။


အကျဉ်းချုပ်

MySQLI :: Get_warenings သည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာဘေ့စ်သတိပေးချက်များကိုစောင့်ကြည့်ရေးအတွက်ထိရောက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်အလားအလာရှိသောအချက်အလက်ပြ problems နာများနှင့်ဝှက်ထားသောအန္တရာယ်များကိုကြိုတင်သိရှိနိုင်သည်။ ပရိုဂရမ်၏တည်ငြိမ်မှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်မှတ်တမ်းများသို့မဟုတ် debugging tools များကိုပေါင်းစပ်ခြင်း, မှတ်တမ်းများသို့မဟုတ် debugging tools များကိုပေါင်းစပ်ရန်အကြံပြုသည်။ တစ်ချိန်တည်းမှာပင် MySQL ဗားရှင်းသဟဇာတနှင့်အရင်းအမြစ်များကိုအသုံးချခြင်းနှင့်အရင်းအမြစ်များကိုသေချာစွာဂရုပြုပါ။