လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Next_result () mysqli_multi_query () ပေါင်းစုံစုံစမ်းမှုအကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်

Next_result () mysqli_multi_query () ပေါင်းစုံစုံစမ်းမှုအကောင်အထည်ဖော်မှုလုပ်ငန်းစဉ်

gitbox 2025-05-02

PHP တွင် MySQL databases ကိုအသုံးပြုသောအခါကျွန်ုပ်တို့သည်မေးမြန်းမှုမျိုးစုံကိုအကောင်အထည်ဖော်ရန်လိုအပ်သည်။ mysqli_multi_query () စုံစမ်းမှုများစွာကိုအကောင်အထည်ဖော်နိုင်စွမ်းကိုပေးသည်။ သို့သော်မေးမြန်းချက်မျိုးစုံကိုအကောင်အထည်ဖော်နိုင်ပြီး, ဤအချိန်တွင်နောက်တစ်ကြိမ်တွင် နောက်တစ်ခေါက် နည်းလမ်းသည်အသုံးဝင်သည်။ နောက်ဆောင်းပါးတွင် Next_result () နှင့် mysqli_multi_query () မှတဆင့်စုံစမ်းမှုပေါင်းသင်းဆက်ဆံရေးလုပ်ငန်းစဉ်ကိုအကောင်အထည်ဖော်ရန်မည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။

mysqli_multi_query () နှင့် နောက်လာမည့် _Result () ကားအဘယ်နည်း။

  1. MySQLI_Multi_Query () - ဤသည်မှာ MySQLI မှ SQL Query မျိုးစုံကိုလုပ်ဆောင်ရန် MySQLI မှပေးသောနည်းလမ်းဖြစ်သည်။ ဤနည်းလမ်းသည် SQL Query မျိုးစုံကိုတစ်ပြိုင်နက်တည်းကွပ်ကဲပြီးကွပ်မျက်သည်အောင်မြင်မှုရှိမရှိကိုညွှန်ပြရန် boolean value ကိုပြန်ပို့သည်။

    ဥပမာ -

     $mysqli->multi_query($query);
    
  2. Next_result () - ဤသည်မှာ MySQLI မှစုံစမ်းမှုရလဒ်များအတွက်နောက်ရလဒ်ရရှိရန်အတွက်အခြားသောအခြားနည်းလမ်းတစ်ခုဖြစ်သည်။ အကယ်. စုံစမ်းမှုတွင်ရလဒ်အနေဖြင့်ရလဒ်မျိုးစုံရှိပါက (ထိုကဲ့သို့သော ရွေးချယ်ထားသော မေးမြန်းချက်များကဲ့သို့သော) တွင်ရလဒ်တစ်ခုချင်းစီကို sequence ကိုရရှိရန် Next_result () ကို သုံးရန်လိုအပ်သည်။

    ဥပမာ -

     $mysqli->next_result();
    

MySQLI_Multi_Query သုံး. မေးမြန်းချက်မျိုးစုံကိုကွပ်မျက်ခံရသည် ()

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်နှင့် MySQL connection ကိုထူထောင်ရန်သေချာစေရန်လိုအပ်သည်။

 <?php
$mysqli = new mysqli('localhost', 'user', 'password', 'database');

// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}
?>

ထို့နောက်ကျွန်ုပ်တို့သည်မေးမြန်းချက်များစွာပါသည့် SQL ကြေညာချက်ကိုကျွန်ုပ်တို့တည်ဆောက်သည်။

 <?php
$query = "SELECT * FROM users;
          SELECT * FROM products;
          SELECT * FROM orders;";
?>

အထက်ပါကုဒ်တွင်ကျွန်ုပ်တို့တွင်မေးမြန်းချက်သုံးခုရှိသည် - မေးမြန်းမှု အသုံးပြုသူများ ဇယားတစ်ခု, query query perform ည့် ထုတ်ကုန် ဇယားတစ်ခုနှင့် Qu Query Procession စားပွဲတစ်ခုစီ။ ဤမေးမြန်းချက်များကိုအကောင်အထည်ဖော်ရန်နှင့်တစ်ခုချင်းစီ၏ရလဒ်များကိုရရှိလိုသည်။

စုံစမ်းမှုတစ်ခုလုပ်ဆောင်ရန် MySQLI_Multi_Query () ကိုသုံးပါ

query တစ်ခုချင်းစီကိုရယူရန်အတွက် queryies များကို execute လုပ်ရန်နှင့် Next_result () ကို သုံးရန် MySQLI_Multi_query () ကိုသုံးပါ။

 <?php
// စုံစမ်းမှုများကိုမျိုးစုံလုပ်ဆောင်ပါ
if ($mysqli->multi_query($query)) {
    // တစ်ခုချင်းစီကိုရလဒ် set ကို looping
    do {
        if ($result = $mysqli->store_result()) {
            // တစ်ခုချင်းစီကိုစုံစမ်းမှုတစ်ခုအတွက်ရလဒ် set ကိုရယူပါ
            while ($row = $result->fetch_assoc()) {
                echo "ID: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
            }
            $result->free();
        }

        // ပိုပြီးရလဒ်အစုံရှိပါတယ်လျှင်,ဆက်လက်လုပ်ဆောင်ရန်ဆက်လက်
        if ($mysqli->more_results()) {
            $mysqli->next_result();
        }
    } while ($mysqli->more_results());
} else {
    echo "Error: " . $mysqli->error;
}
?>

ကုဒ်ရှင်းပြချက်

  1. Execute query : $ MySQLI-> Multi_Query ($ query) သည် မေးမြန်းချက်မျိုးစုံကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသည်။ အကယ်. စုံစမ်းမှုအောင်မြင်ပါက၎င်းသည် မှန်ကန်စွာ ပြန်လည်ရောက်ရှိပြီး လုပ် ပါ။

  2. ရလဒ်တစ်ခုချင်းစီကိုရလဒ်ခြင်း - $ MySQLI-> Store_result () ကို လက်ရှိစုံစမ်းမှုကိုရရှိရန်အသုံးပြုသည်။ FETLE_ASTROUC () မှတဆင့်အချက်အလက်များ၏အတန်းတစ်ခုစီမှတစ်ဆင့်ကြားဖြတ်။

  3. ရလဒ်အဘို့အပိုရဖို့ : $ MySQLI-> More_results () ပိုမိုရလဒ်များရှိမရှိစစ်ဆေးရန်အသုံးပြုသည်။ သို့ဆိုလျှင်နောက်ရလဒ်ကိုဆက်လက်ရယူရန် Next_result () ကို သုံးပါ။

  4. အခမဲ့အရင်းအမြစ်များ - ရလဒ်တစ်ခုစီ၏လုပ်ငန်းစဉ်တစ်ခုစီပြီးနောက်ကျွန်ုပ်တို့သည်အမှတ်အသားကိုလွှတ်ရန် အခမဲ့ () ကို သုံးသည်။

မှတ်သားရန်အရာ

  1. Queress Order : MySQLI_Multi_Query () သည်အစဉ်အလာအနေဖြင့်မေးမြန်းချက်မျိုးစုံကိုလုပ်ဆောင်ခဲ့ပြီး Execute အမိန့်သည် SQL ထုတ်ပြန်ချက်များတွင်အမိန့်နှင့်ကိုက်ညီသည်။

  2. အမှားကိုင်တွယ်ခြင်း - မေးမြန်းချက်မျိုးစုံကိုကွပ်မျက်ခံရသည့်အခါမည်သည့်စုံစမ်းမှုပေါ်ပေါက်လာပါကလုပ်ငန်းစဉ်တစ်ခုလုံးပျက်ပြားသွားနိုင်သည်။ အမှားအယွင်းများကိုကောင်းစွာကိုင်တွယ်ရန်သေချာပါစေ။

  3. ဒေတာလုံခြုံရေး - SQL ဆေးထိုးပြ problems နာများကိုကာကွယ်ရန်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များကိုအသုံးပြုပါ။ မေးမြန်းချက်များစွာကိုအကောင်အထည်ဖော်သောအခါအချက်အလက်လုံခြုံရေးကိုကာကွယ်ရန် Preprocessing ထုတ်ပြန်ချက်များကိုအသုံးပြုရန်အကောင်းဆုံးဖြစ်သည်။

URL အစားထိုးဥပမာ

အကယ်. သင်သည်စုံစမ်းမှုတွင် URL တွင်ပါ 0 င်ပြီး GitBox.net ဖြင့် domain name ကိုအစားထိုးရန်လိုအပ်ပါက -

 <?php
$query = "SELECT * FROM websites WHERE url = 'http://example.com';";
?>

ဤကိစ္စတွင်, သင် URL ၏ domain name ကို gitbox.net ဖြင့်အစားထိုးလိုက်ပါ။

 <?php
$query = "SELECT * FROM websites WHERE url = 'http://gitbox.net';";
?>

ဤနည်းအားဖြင့်သင်သည် domain အမည်များအားလုံးကို GitBox.net နှင့်ပြောင်းလွယ်ပြင်လွယ်ကိုအစားထိုးနိုင်သည်။