လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Get_warenings မတူကွဲပြားသော MySQL ဗားရှင်းများအပေါ်ပါ 0 င်သည်

MySQLI :: Get_warenings မတူကွဲပြားသော MySQL ဗားရှင်းများအပေါ်ပါ 0 င်သည်

gitbox 2025-05-26

PHP တွင် MySQLI တိုးချဲ့ခြင်းသည် MySQL database :: MySQLI :: Get_warennings function ကိုရရှိသောသတိပေးအချက်အလက်များရရှိရန်အသုံးပြုသော MySQL database လုပ်ငန်းများကိုအသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည် MySQL 5.6 နှင့်အထက်တွင်ကောင်းမွန်စွာလုပ်ဆောင်သော်လည်း MySQL ၏ဗားရှင်းကွဲပြားခြားနားသောဗားရှင်းကွဲပြားမှုနှင့်စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုအချို့ရှိပြီး developer များကပြ problems နာများကြုံတွေ့ရနိုင်သည်။ ဤဆောင်းပါးသည် MySQLI :: Get_warenings ၏သဟဇာတဖြစ်သောပြ issues နာများကိုအသေးစိတ်ဖော်ပြပြီးသက်ဆိုင်ရာဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။


1 ။ MySQLI :: get_warening function ကိုမိတ်ဆက်ခြင်း

MySQLI :: Get_warenings MySQLI_Warning Object ကွင်းဆက်ကို MySQLI_Warning Object ကွင်းကွင်းကွင်းဆက်ကိုပြန်လည်ပေးအပ်သော MySQLI_Warning Object ကွင်းဆက်ကိုပြန်လည်ပေးအပ်သော MySQLI_Warning Object ကွင်းဆက်ကိုပြန်လည်ပေးအပ်သော MySQLI_Warning Object ကွင်းဆက်ကိုပြန်လည်ရောက်ရှိစေသည်။ သတိပေးအချက်အလက်များတွင်သတိပေးရေးရာများ, မက်ဆေ့ခ်ျများနှင့်သတိပေးချက်အဆင့်များတွင်သတိပေးခြင်းပါဝင်သည်။

 $mysqli = new mysqli("gitbox.net", "user", "password", "database");

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

$mysqli->query("YOUR SQL STATEMENT");

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

အထက်ပါကုဒ်သည်သတိပေးကွင်းဆက်ကိုမည်သို့ရယူရမည်ကိုပြသသည်။


2 ။ လိုက်ဖက်တဲ့ပြ issues နာတွေကိုခွဲခြမ်းစိတ်ဖြာခြင်း

  1. MySQL ဗားရှင်းသက်ရောက်မှု

    • MySQL 5.6 နှင့်အထက်
      MySQL 5.6 သည်သတိပေးချက်များအတွက်အထောက်အပံ့များတိုးတက်လာသည်။ MySQLI :: Get_warenings သည် ကောင်းမွန်စွာအလုပ်လုပ်နိုင်ပြီးသတိပေးစာများကိုပြန်ပို့နိုင်သည်။

    • MySQL 5.5 နှင့်အောက်တွင် ဖော်ပြထားသည် MySQL 5.5 နှင့်အထက်အစောပိုင်းတွင်, သတိပေးယန္တရားထောက်ခံမှုသည်အကန့်အသတ်ရှိသည်။ အချို့သောကိစ္စရပ်များတွင် MySQLI :: Get_warenings သည် မှားယွင်းသော နောက်သို့ပြန်ပို့နိုင်သည်။ ၎င်းသည်သတိပေးချက်အမှန်တကယ်တည်ရှိရင်တောင်မရရှိနိုင်ပါ။

  2. MySQL configuration သက်ရောက်မှု

    အချို့သော configuration parameters များ (ဥပမာ SQL_NOTTES ကဲ့သို့သော) သတိပေးချက်များကိုပြန်လည်အသုံးပြုခြင်းနှင့်မှတ်တမ်းတင်ခြင်းအပေါ်အကျိုးသက်ရောက်သည်။ သတိပေးစာများမှတ်တမ်းကိုပိတ်ခြင်းသည် get_warenings () ကို သတိပေးခြင်းမခံရစေရန်ဖြစ်ပေါ်စေလိမ့်မည်။

  3. PHP ဗားရှင်းနှင့် MySQLI ယာဉ်မောင်း

    PHP ဗားရှင်းနှင့် MySQLI Driver ဗားရှင်းသည်ဤနည်းလမ်း၏စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်လိမ့်မည်။ MySQLI extensions ၏အစောပိုင်း PHP ဗားရှင်းများသည်သတိပေးကွင်းဆက်များအတွက်ပံ့ပိုးမှုမပြည့်စုံပါ။


3 ။ မကြာခဏမေးလေ့ရှိသောမေးခွန်းများဥပမာ

 $mysqli = new mysqli("gitbox.net", "user", "password", "database");

$mysqli->query("INSERT INTO test_table VALUES (1, 'duplicate')"); // အဓိက key ကိုထပ်ခါတလဲလဲဟုယူဆ,သတိပေးချက်တစ်ခုထုတ်လုပ်ပါ

$warnings = $mysqli->get_warnings();

if ($warnings === false) {
    echo "သတိပေးချက်မရနိုင်,ဖြစ်နိုင်စရာMySQLဗားရှင်းသို့မဟုတ် configuration ကိုမပံ့ပိုးပါ。";
} else {
    do {
        echo "သတိပေးနံပါတ်: " . $warnings->errno . ", အကေြာင်းကြားချက်: " . $warnings->message . "\n";
    } while ($warnings = $warnings->next());
}

MySQL 5.5 သို့မဟုတ်အစောပိုင်းတွင် ဒေါ်လာသတိပေးချက်များသည် မှားယွင်းစွာ ပြန်ပို့ခြင်းနှင့်သတိပေးချက်များမရနိုင်ပါ။


4 ။ ဖြေရှင်းနည်းနှင့်လိုက်ဖက်တဲ့အပြောင်းအလဲနဲ့

  1. MySQL ဗားရှင်း detect

    သက်ဆိုင်ရာယုတ္တိဗေဒကိုမလုပ်ဆောင်မီ, လက်ရှိ MySQL ဗားရှင်းကိုစစ်ဆေးပြီး Get_warenings () ကို ခေါ်ရန်ဆုံးဖြတ်ပါ။

 $version = $mysqli->server_info;
if (version_compare($version, '5.6.0', '>=')) {
    // ထောက်get_warnings
    $warnings = $mysqli->get_warnings();
} else {
    $warnings = false;
}
  1. SQL Warne Alternals

    MySQL ဗားရှင်းသည်နိမ့်ကျပြီး Get_warenings ကို သုံးနိုင်ပါက,

 $result = $mysqli->query("SHOW WARNINGS");
if ($result) {
    while ($row = $result->fetch_assoc()) {
        echo "Level: " . $row['Level'] . ", Code: " . $row['Code'] . ", Message: " . $row['Message'] . "\n";
    }
}
  1. unified ထုပ်ပိုးထုပ်ပိုး

    function ကို oncapsulate online version အရနည်းလမ်းရရှိရန်သတိပေးချက်ကိုအလိုအလျောက်ပြောင်းရန်အကြံပြုသည်။

 function getMysqlWarnings(mysqli $mysqli) {
    if (version_compare($mysqli->server_info, '5.6.0', '>=')) {
        $warnings = $mysqli->get_warnings();
        $allWarnings = [];
        if ($warnings !== false) {
            do {
                $allWarnings[] = [
                    'errno' => $warnings->errno,
                    'message' => $warnings->message,
                ];
            } while ($warnings = $warnings->next());
        }
        return $allWarnings;
    } else {
        $result = $mysqli->query("SHOW WARNINGS");
        $allWarnings = [];
        if ($result) {
            while ($row = $result->fetch_assoc()) {
                $allWarnings[] = [
                    'level' => $row['Level'],
                    'code' => $row['Code'],
                    'message' => $row['Message'],
                ];
            }
        }
        return $allWarnings;
    }
}

5 ။ အကျဉ်းချုပ်

MySQLI :: Get_warenings function သည် MySQL ၏ version, configuration နှင့် php ဗားရှင်းကွဲပြားမှုများကြောင့် MySQL သတိပေးသတင်းအချက်အလက်ရယူရန်အတွက်စံပြ interface တစ်ခုဖြစ်သည်။ ဤပြ issues နာများကိုဖြေရှင်းရန် developer များကလုပ်နိုင်သည် -

  • MySQL ဗားရှင်းကိုကြိုတင်ရှာဖွေပါ

  • သတိပေးချက်များကို အချိန်၌အသုံးပြုသည်

  • ကုဒ်အဆင်သင့်နှင့်လိုက်လျောညီထွေဖြစ်ခြင်းကိုတိုးမြှင့်ဖို့သတိပေးဝယ်ယူမှုယုတ္တိဗေဒ၏စည်းလုံးညီညွတ်ရေးစည်းလုံးညီညွတ်ရေးစည်းလုံးညီညွတ်ရေး

ဤနည်းအားဖြင့်ဒေတာဘေ့စ်သတိပေးသတင်းအချက်အလက်များကိုမတူညီသောပတ် 0 န်းကျင်တွင်ထိရောက်စွာရရှိနိုင်ရန်,