PHP တွင် MySQL databases များကိုအသုံးပြုသောအခါအမှားများကိုဖမ်းယူခြင်းအပြင်တစ်ခါတစ်ရံဒေတာဘေ့စ်မှထုတ်ပေးသောသတိပေးချက်များကိုဂရုပြုရန်လိုအပ်သည်။ ဤသတိပေးချက်များသည်ဒေတာကိုအမှီက်သင်းခြင်းကဲ့သို့သောအလားအလာရှိသောပြ problems နာများကိုဖော်ပြနိုင်သည် ။
ဤဆောင်းပါးသည် MySQLI ::> Get_warenings ကို အသုံးပြု. ရိုးရိုးလေးခြွင်းချက်အကြောင်းကြားစာကိုတည်ဆောက်ရန် Mail System နှင့်ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ ဒေတာဘေ့စ်စစ်ဆင်ရေးတစ်ခုသတိပေးချက်တစ်ခုထုတ်ပေးသောအခါ, သတိပေးချက်ဆိုင်ရာပြ problems နာများကိုအချိန်မီရှာဖွေတွေ့ရှိခြင်းနှင့်ကိုင်တွယ်ခြင်းကိုလွယ်ကူချောမွေ့စေရန်အတွက်သတိပေးအကြောင်းအရာကိုအီးမေးလ်မှတဆင့်အလိုအလျောက်ပေးပို့လိမ့်မည်။
MySQLI :: Get_warenings သည် MySQLI တိုးချဲ့ခြင်းတွင် MySQLI တိုးချဲ့ခြင်းတွင်နောက်ဆုံးပေါ်ဒေတာဘေ့စ်စစ်ဆင်ရေးမှထုတ်လုပ်သောသတိပေးအချက်အလက်များရရှိစေရန်ပေးသောနည်းလမ်းဖြစ်သည်။
အသုံးပြုမှုဥပမာ:
$mysqli = new mysqli('gitbox.net', 'user', 'password', 'database');
$mysqli->query("INSERT INTO table_name (col) VALUES ('အပိုရှည်လျားသော string ကို...')");
if ($warnings = $mysqli->get_warnings()) {
do {
echo "Warning: ({$warnings->errno}) {$warnings->message}\n";
} while ($warnings->next());
}
ဤနည်းလမ်းသည် MySQLI_Warning Object, Errno (သတိပေးနံပါတ်), မက်ဆေ့ခ်ျ (သတိပေးစာ) နှင့် နောက် ()) ကိုဖြတ်သန်းရန်အသုံးပြုသော MySQLI_AWARNNING အရာဝတ်ထုတစ်ခုသို့ပြန်သွားသည်။
ဒေတာဘေ့စ်စစ်ဆင်ရေးကိုလုပ်ဆောင်ပြီးနောက်သတိပေးချက်တစ်ခုရှိမရှိစစ်ဆေးရန် Get_warenings ကို ခေါ်ပါ။
သတိပေးချက်တစ်ခုမှာသတိပေးအချက်အလက်အားလုံးကိုစုဆောင်းပါ။
Mail System မှတစ်ဆင့်သတိပေးစာများကိုကြိုတင်အုပ်ချုပ်ရေးမှူး Mailbox သို့ပို့သည်။
အမှန်တကယ်စီးပွားရေးလုပ်ငန်းတွင်ဤအဆင့်ကိုအလိုအလျောက်ရှာဖွေတွေ့ရှိမှုနှင့်အသိပေးချက်ကိုနားလည်သဘောပေါက်ရန်ဒေတာဘေ့စ်စစ်ဆင်ရေး၏ encapsulation function function ကိုထည့်သွင်းနိုင်သည်။
အောက်ပါဥပမာသည်ဒေတာဘေ့စ်စစ်ဆင်ရေးအပြီးတွင်သတိပေးချက်များကိုမည်သို့စစ်ဆေးရန်နှင့်အီးမေးလ်သတိပေးချက်များကိုမည်သို့ပေးပို့ရမည်ကိုပြသသည်။
<?php
$mysqli = new mysqli('gitbox.net', 'user', 'password', 'database');
if ($mysqli->connect_errno) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$sql = "INSERT INTO users (username) VALUES ('အရှည်ထက်ကျော်လွန်သုံးစွဲသူအမည်များဥပမာ……')";
$mysqli->query($sql);
$warnings = $mysqli->get_warnings();
if ($warnings) {
$warningMessages = [];
do {
$warningMessages[] = "Warning ({$warnings->errno}): {$warnings->message}";
} while ($warnings->next());
$subject = "ဒေတာဘေ့စ်သတိပေးသတိပေးချက်များ";
$body = "အောက်ဖော်ပြပါအချက်အလက်များသည်လတ်တလောဒေတာဘေ့စ်လုပ်ငန်းများမှထုတ်ပေးသောသတိပေးချက်များဖြစ်သည်:\n\n" . implode("\n", $warningMessages);
$to = "[email protected]";
$headers = "From: [email protected]";
// အီးမေးလ်ပို့ပါ
if (mail($to, $subject, $body, $headers)) {
echo "သတိပေးချက်အသိပေးချက်အီးမေးလ်ကိုပို့ပြီးပါပြီ。";
} else {
echo "အီးမေးလ်ပို့ခြင်းမအောင်မြင်ပါ。";
}
} else {
echo "ရှာဖွေတွေ့ရှိသည့်ဒေတာဘေ့စ်သတိပေးချက်မရှိပါ。";
}
$mysqli->close();
?>
သစ်ထုတ်လုပ်ခြင်း - အီးမေးလ်များပို့ခြင်းအပြင်နောက်ဆက်တွဲစာရင်းစစ်ဆေးခြင်းနှင့်ပြ troubl နာဖြေရှင်းရန်အတွက်သတိပေးအချက်အလက်များကိုမှတ်တမ်းဖိုင်သို့ရေးရန်အကြံပြုပါသည်။
Asynchronous အကြောင်းကြားစာ - အီးမေးလ်ပို့ခြင်းကစီးပွားရေးလုပ်ထုံးလုပ်နည်းများကိုပိတ်ဆို့ပါကအီးမေးလ်ပို့ခြင်းလုပ်ငန်းစဉ်ကိုလုပ်ဆောင်ရန် Queues သို့မဟုတ် asynchronous အလုပ်များကိုသုံးနိုင်သည်။
နောက်ထပ်အချက်များ - အချက်ပြမှုတုံ့ပြန်မှုမြန်နှုန်းကိုတိုးတက်စေရန် SMS နှင့် WeChat ကဲ့သို့သောအခြားလက်ငင်းအသိပေးချက်နည်းလမ်းများနှင့်ပေါင်းစပ်ပါ။
ခြွင်းချက် Encapsulation : ဒေတာဘေ့စ်စစ်ဆင်ရေးလုပ်ဆောင်ချက်များကို encapsult, အမှားအယွင်းများနှင့်သတိပေးချက်များကိုယူပါ။