MySQLI :: Get_warenings သည် MySQLI ၏မကြာသေးမီက MySQL စစ်ဆင်ရေးတွင်ထုတ်ပေးသောသတိပေးချက်များအားလုံးကိုထုတ်ယူသော MySQLI အရာဝတ်ထုတစ်ခု၏နည်းလမ်းဖြစ်သည်။ အမျိုးသမီးများသည်များသောအားဖြင့်မေးမြန်းခြင်းပျက်ကွက်မှုများဖြစ်ပေါ်စေသော်လည်းအချက်အလက်တိကျမှန်ကန်မှုနှင့် debugging လုပ်ရန်အထောက်အကူပြုသည်။
သတိပေးချက်တစ်ခုထုတ်ပေးနိုင်သည့် 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 အရာဝတ်ထုတစ်ခုကိုပြန်လည်ပေးနိုင်သည်။
သင်၏စီမံကိန်းတွင်ဒေတာဘေ့စ်အမှားများကိုဖမ်းရန်ခြွင်းချက်များကိုသင်အသုံးပြုပါက 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();
}
?>
ဤအချိန်တွင်ပုံမှန်အမှားများကိုခြွင်းချက်များဖြင့်ဖမ်းမိပြီးသတိပေးချက်များကိုမှတ်တမ်းတင်ထားသည်။
သုတ်သင်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသောအရောင်းအ 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 သတိပေးချက်များကိုရှာဖွေတွေ့ရှိနိုင်ပါတယ်။
Get_warenings သည် MySQL ဆာဗာတွင်သတိပေးမက်ဆေ့ခ်ျများကိုပံ့ပိုးရန်နှင့်များသောအားဖြင့် MySQL 5.6 နှင့်အထက်လိုအပ်သည်။ အနိမ့်ဗားရှင်းသတိပေးချက်မရသို့မဟုတ်မတည်မငြိမ်ပြုမူလိမ့်မည်မဟုတ်ပါ။
ကြီးမားသောအမှားတစ်ခုကြောင့် SQL query ပျက်ကွက်သောအခါ Get_warenings သည် သတိပေးသတင်းစကားကိုမပြန်ပါ။ အမှားကိုင်တွယ်သည့်ယန္တရားမှအမှားကိုဖမ်းမိသင့်သည်။
Get_warenings () ကို ခေါ်ဆိုခြင်းဖြင့်ပြန်လာသောအရာဝတ်ထုသည်မှတ်ဉာဏ်ယိုစိမ့်မှုကိုကာကွယ်ရန်နောက်ခံအရင်းအမြစ်ကိုထုတ်လွှတ်ရန် နီးကပ်စွာ () နည်းလမ်းကိုအတိအလင်းခေါ်ဆိုရန်လိုအပ်သည်။
သတိပေးချက်များသည်တစ်ခါတစ်ရံတွင် SQL Details သို့မဟုတ် data status ကိုဖော်ထုတ်နိုင်သည်။ သတင်းအချက်အလက်ယိုစိမ့်မှုကိုရှောင်ရှားရန် Log output ကိုဂရုတစိုက်ကိုင်တွယ်ရန်သေချာပါစေ။
MySQLI :: Get_warenings သည် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာဘေ့စ်သတိပေးချက်များကိုစောင့်ကြည့်ရေးအတွက်ထိရောက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်အလားအလာရှိသောအချက်အလက်ပြ problems နာများနှင့်ဝှက်ထားသောအန္တရာယ်များကိုကြိုတင်သိရှိနိုင်သည်။ ပရိုဂရမ်၏တည်ငြိမ်မှုနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်မှတ်တမ်းများသို့မဟုတ် debugging tools များကိုပေါင်းစပ်ခြင်း, မှတ်တမ်းများသို့မဟုတ် debugging tools များကိုပေါင်းစပ်ရန်အကြံပြုသည်။ တစ်ချိန်တည်းမှာပင် MySQL ဗားရှင်းသဟဇာတနှင့်အရင်းအမြစ်များကိုအသုံးချခြင်းနှင့်အရင်းအမြစ်များကိုသေချာစွာဂရုပြုပါ။