လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: Multi_query သည် Multi_Query Multi-Statement Execution Execution အမှားများကိုကိုင်တွယ်သည်

MySQLI :: Multi_query သည် Multi_Query Multi-Statement Execution Execution အမှားများကိုကိုင်တွယ်သည်

M66 2025-05-28

PHP တွင် MySQL databases များကိုအသုံးပြုသောအခါ MySQLI တိုးချဲ့မှုသည်ဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်ရန်ကြွယ်ဝသောလုပ်ဆောင်နိုင်စွမ်းကိုပေးသည်။ အထူးသဖြင့် SQL ထုတ်ပြန်ချက်များစွာ, MySQLI :: Multi_query Method နှင့် MySQLI :: MySQLI :: MySQLI :: MySQLI :: MySQLI :: IRRNO attribute သည်အလွန်အရေးကြီးသောကိရိယာများဖြစ်သည်။ ဤဆောင်းပါးတွင်ဖော်ပြချက်ပေါင်းစုံအရေးယူမှုများတွင်ဖြစ်ပေါ်နိုင်သည့်အမှားများကိုထိရောက်စွာကိုင်တွယ်ရန်နှစ် ဦး စလုံးအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။

1 ။ MySQLI :: Multiery နှင့် MySqli :: $ errno ?

  1. MySQLI :: multiery :
    Multi_query သည် SQL ထုတ်ပြန်ချက်များပါ 0 င်သော mySQLI အတန်းတွင်နည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည်ထုတ်ပြန်ချက်များစွာကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်ပြီးရလဒ်ကိုပြန်ပို့နိုင်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်အထူးသဖြင့်အရောင်းအ 0 ယ်သို့မဟုတ်အသုတ်များထည့်သွင်းပါကအထူးသဖြင့်အရောင်းအ 0 ယ်များပါ 0 င်သည့်အခါတွင်၎င်းကိုအသုံးပြုသည်။

     $mysqli->multi_query("SQLအသေအချာပေြာဆိုချက်1; SQLအသေအချာပေြာဆိုချက်2; SQLအသေအချာပေြာဆိုချက်3;");
    
  2. MySQLI :: $ errno :
    အဆိုပါ Errno attribute သည်ယခင် MySQL စစ်ဆင်ရေးမှထုတ်ပေးသောအမှားကုဒ်ကိုကိုယ်စားပြုသည်။ SQL query တစ်ခုကိုလုပ်ဆောင်နေစဉ်အမှားတစ်ခုဖြစ်ပေါ်ပါကအမှားကုဒ်ကို MySQLI-> ERRNO မှတဆင့်ရနိုင်သည်။ ဒီပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုမှတစ်ဆင့်အမှားတစ်ခုဖြစ်ပွားပြီးသက်ဆိုင်ရာအစီအမံများကိုကျွန်ုပ်တို့အလွယ်တကူစစ်ဆေးနိုင်သည်။

     if ($mysqli->errno) {
        echo "အမှားကုဒ်: " . $mysqli->errno;
    }
    

2 ။ ထုတ်ပြန်ချက်များစွာကိုကွပ်မျက်ခြင်းတွင်အမှားအယွင်းများကိုမည်သို့ကိုင်တွယ်ရမည်နည်း။

MySQLI :: Multi_query သည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်အတွက် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်ပျက်ကွက်ပါက, ဤတွင်၎င်းတို့ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြရန်ဥပမာတစ်ခုဖြစ်သည်။

နမူနာကုဒ်:

 <?php
// ဖန်တီး MySQLi ဆက်
$mysqli = new mysqli("localhost", "root", "password", "database");

// 检查ဆက်是否成功
if ($mysqli->connect_error) {
    die("ဆက်失败: " . $mysqli->connect_error);
}

// အပိုင်းများစွာရှိသော SQL အသေအချာပေြာဆိုချက်
$sql = "
    INSERT INTO users (username, email) VALUES ('user1', 'user1@example.com');
    INSERT INTO users (username, email) VALUES ('user2', 'user2@example.com');
    INSERT INTO users (username, email) VALUES ('user3', 'user3@example.com');
";

// 执行အပိုင်းများစွာရှိသော SQL အသေအချာပေြာဆိုချက်
if ($mysqli->multi_query($sql)) {
    do {
        // လက်ရှိစုံစမ်းမှု၏ရလဒ်အစုကိုရယူပါ
        if ($result = $mysqli->store_result()) {
            // လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        // ပိုမိုရလဒ်များရှိမရှိစစ်ဆေးပါ
    } while ($mysqli->next_result());
    
    // အမှားများကိုစစ်ဆေးပါ
    if ($mysqli->errno) {
        echo "Execute အမှား: " . $mysqli->error;
    } else {
        echo "所有အသေအချာပေြာဆိုချက်执行成功!";
    }
} else {
    // 如果多အသေအချာပေြာဆိုချက်查询失败,output error message
    echo "Execution မအောင်မြင်ပါ: " . $mysqli->error;
}

$mysqli->close();
?>

ရှင်းပြပါ -

  1. Multi_query ၏ကွပ်မျက် :
    Code တွင် MySQLI :: Multi_query Method ကိုအသုံးပြုသည်။ အကယ်. ကွပ်မျက်အောင်မြင်မှုအောင်မြင်လျှင်၎င်းသည် မှန်ကန် သည်

  2. မျိုးစုံရလဒ်များ process ကို processing :
    Multi_Query ကွပ်မျက်ခံရပြီးနောက် MySQLI :: Next_result မှတစ်ဆင့်ရလဒ်ပိုမိုများပြားလာခြင်းရှိမရှိကိုကျွန်ုပ်တို့စစ်ဆေးရန်လိုအပ်ပါသလား ရလဒ်တစ်ခုစီကိုတ ဦး တည်းအနေဖြင့်သတ်မှတ်နိုင်သည်။

  3. အမှားကိုင်တွယ်ခြင်း :
    Multi-statement execute ပြီးစီးပြီးနောက် MySQLI :: errno မှတစ်ဆင့်အမှားတစ်ခုဖြစ်ပွားခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။ အကယ်. အမှားတစ်ခုဖြစ်ပါက MySQLI :: အမှား နှင့်လုပ်ဆောင်မှုမှတစ်ဆင့်အသေးစိတ်အချက်အလက်များကိုသင်ရယူနိုင်သည်။

  4. ဆက်သွယ်မှုကိုပိတ်ပါ
    စစ်ဆင်ရေးအားလုံးပြီးစီးပြီးနောက်ဒေတာဘေ့စ် connection ကိုပိတ်ရန်သတိရပါ။

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

  • MySQLI :: Multi_query သည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည့်အစွမ်းထက်သောနည်းလမ်းဖြစ်သည်။

  • MySQLI :: errno :: errno သည် Multi-statements များကိုကွပ်မျက်သည့်အခါကျွန်ုပ်တို့အားဖမ်းမိခြင်းနှင့်ကိုင်တွယ်ခြင်းကိုအထောက်အကူပြုသည်။

  • Multi-statles studies များကိုကိုင်တွယ်သောအခါရလဒ်အလုံးအရင်းကိုမှန်ကန်စွာပြုပြင်ပြီးအချိန်မီအမှားများမဖြစ်မည်ကိုစစ်ဆေးရန်သေချာပါသည်။

ဒီနှစ်ခုကိုအတူတကွအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Multies Multi-statement execution တွင်ဖြစ်နိုင်ချေရှိသောအမှားအယွင်းများကိုပိုမိုထိရောက်စွာဖမ်းယူနိုင်ပြီးကျွန်ုပ်တို့၏ကုဒ်၏တည်ငြိမ်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုတိုးတက်စေနိုင်သည်။