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

MySQLI :: Get_warenings နှင့် Mail System တို့ဖြင့်ခြွင်းချက်အသိပေးခြင်း 0 န်ဆောင်မှုကိုတည်ဆောက်ပါ

gitbox 2025-06-06

PHP တွင် MySQL databases များကိုအသုံးပြုသောအခါအမှားများကိုဖမ်းယူခြင်းအပြင်တစ်ခါတစ်ရံဒေတာဘေ့စ်မှထုတ်ပေးသောသတိပေးချက်များကိုဂရုပြုရန်လိုအပ်သည်။ ဤသတိပေးချက်များသည်ဒေတာကိုအမှီက်သင်းခြင်းကဲ့သို့သောအလားအလာရှိသောပြ problems နာများကိုဖော်ပြနိုင်သည်

ဤဆောင်းပါးသည် MySQLI ::> Get_warenings ကို အသုံးပြု. ရိုးရိုးလေးခြွင်းချက်အကြောင်းကြားစာကိုတည်ဆောက်ရန် Mail System နှင့်ပေါင်းစပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။ ဒေတာဘေ့စ်စစ်ဆင်ရေးတစ်ခုသတိပေးချက်တစ်ခုထုတ်ပေးသောအခါ, သတိပေးချက်ဆိုင်ရာပြ problems နာများကိုအချိန်မီရှာဖွေတွေ့ရှိခြင်းနှင့်ကိုင်တွယ်ခြင်းကိုလွယ်ကူချောမွေ့စေရန်အတွက်သတိပေးအကြောင်းအရာကိုအီးမေးလ်မှတဆင့်အလိုအလျောက်ပေးပို့လိမ့်မည်။


1 ။ MySQLI :: get_warenings မှနိဒါန်း

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 အရာဝတ်ထုတစ်ခုသို့ပြန်သွားသည်။


2 ။ ခြွင်းချက်အသိပေးခြင်း 0 န်ဆောင်မှုများတည်ဆောက်ရန်စိတ်ကူးများ

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

  • သတိပေးချက်တစ်ခုမှာသတိပေးအချက်အလက်အားလုံးကိုစုဆောင်းပါ။

  • Mail System မှတစ်ဆင့်သတိပေးစာများကိုကြိုတင်အုပ်ချုပ်ရေးမှူး Mailbox သို့ပို့သည်။

  • အမှန်တကယ်စီးပွားရေးလုပ်ငန်းတွင်ဤအဆင့်ကိုအလိုအလျောက်ရှာဖွေတွေ့ရှိမှုနှင့်အသိပေးချက်ကိုနားလည်သဘောပေါက်ရန်ဒေတာဘေ့စ်စစ်ဆင်ရေး၏ encapsulation function function ကိုထည့်သွင်းနိုင်သည်။


3 ။ Code Perfect: အီးမေးလ်ဖြင့် တွဲဖက်. ပို့ပါ

အောက်ပါဥပမာသည်ဒေတာဘေ့စ်စစ်ဆင်ရေးအပြီးတွင်သတိပေးချက်များကိုမည်သို့စစ်ဆေးရန်နှင့်အီးမေးလ်သတိပေးချက်များကိုမည်သို့ပေးပို့ရမည်ကိုပြသသည်။

 <?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();
?>

4 ။ အဆင့်မြင့်အကြံပြုချက်များ

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

  • Asynchronous အကြောင်းကြားစာ - အီးမေးလ်ပို့ခြင်းကစီးပွားရေးလုပ်ထုံးလုပ်နည်းများကိုပိတ်ဆို့ပါကအီးမေးလ်ပို့ခြင်းလုပ်ငန်းစဉ်ကိုလုပ်ဆောင်ရန် Queues သို့မဟုတ် asynchronous အလုပ်များကိုသုံးနိုင်သည်။

  • နောက်ထပ်အချက်များ - အချက်ပြမှုတုံ့ပြန်မှုမြန်နှုန်းကိုတိုးတက်စေရန် SMS နှင့် WeChat ကဲ့သို့သောအခြားလက်ငင်းအသိပေးချက်နည်းလမ်းများနှင့်ပေါင်းစပ်ပါ။

  • ခြွင်းချက် Encapsulation : ဒေတာဘေ့စ်စစ်ဆင်ရေးလုပ်ဆောင်ချက်များကို encapsult, အမှားအယွင်းများနှင့်သတိပေးချက်များကိုယူပါ။