လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Store_Result () ပါ 0 င်သည့် PHP တွင် Next_result () ကိုသုံးရန်မှန်ကန်သောနည်းလမ်းမှာ ()

Store_Result () ပါ 0 င်သည့် PHP တွင် Next_result () ကိုသုံးရန်မှန်ကန်သောနည်းလမ်းမှာ ()

gitbox 2025-04-29

PHP တွင်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် MySQLI extension များကိုအသုံးပြုသောအခါရလဒ်အမျိုးမျိုးနှင့်သက်ဆိုင်သောအခြေအနေကိုကျွန်ုပ်တို့ကြုံတွေ့ရနိုင်သည်။ အထူးသဖြင့်သိုလှောင်ထားသည့်လုပ်ထုံးလုပ်နည်းများ (သို့) စုံစမ်းမှုဖော်ပြချက်များ, Newerult () နှင့် store_result () သည်အသုံးများသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ဤဆောင်းပါးတွင်မေးမြန်းချက်များစွာကိုမှန်ကန်စွာလုပ်ဆောင်နိုင်ရန်ဤလုပ်ဆောင်မှုနှစ်ခုသည်မည်သို့အတူတကွလုပ်ဆောင်သည်ကိုကျွန်ုပ်တို့လေ့လာပါမည်။

1 ။ Next_result () နှင့် store_result ()) MySQLI ရှိလုပ်ဆောင်ချက်များ

  • Store_Result () - ဤလုပ်ဆောင်ချက်သည်စုံစမ်းမှုရလဒ်များကိုမှတ်ဉာဏ်တွင်သိမ်းဆည်းရန်အသုံးပြုသည်။ ၎င်းသည်ဒေတာအားလုံးကိုတစ်ပြိုင်နက်တည်းဖတ်ပြီး MySQLI_RESult Object တွင်၎င်းကိုသိမ်းဆည်းသည်။

  • Next_result () - ဤလုပ်ဆောင်မှုသည်မေးမြန်းမှုအမြောက်အများထုတ်ပြန်ချက်များကိုလုပ်ဆောင်ရန်အသုံးပြုသည်။ စုံစမ်းမှုများစွာကွပ်မျက်ခံရသောအခါ၎င်းကိုနောက်ရလဒ်ကိုညွှန်ပြရန်အသုံးပြုသည်။ ရလဒ်အစုအဝေးများတည်ရှိပါက Next_result () ကို ခေါ်ဆိုခြင်းသည်သင့်အားစုံစမ်းမှုတစ်ခုစီ၏ရလဒ်များမှတစ်ဆင့်ကြားနာရန်ခွင့်ပြုသည်။

2 ။ ဘာလို့အတူတကွသုံးဖို့လိုသလဲ။

မေးမြန်းမှုများစွာပါ 0 င်သော SQL ကြေငြာချက်ကိုသင်ကွပ်ကဲသည့်အခါ (ဥပမာ, ရွေးချယ်ထားသော မေးမြန်းချက်များ (သို့) ရလဒ်များတွင်ရလဒ်မျိုးစုံ) ကိုသင်သေချာစွာဖတ်ရှုခြင်းနှင့်မှန်ကန်စွာပြုလုပ်ရန်သေချာသည်။ ဤကိစ္စတွင် Store_Result () သည်လက်ရှိစုံစမ်းမှု၏ရလဒ်များကိုသိမ်းဆည်းရန်အသုံးပြုသည်, Next_result () နောက်ရလဒ်ကိုညွှန်ပြရန်အသုံးပြုသည်။

3 ။ Jew_result () နှင့် store_result () ကို အသုံးပြုခြင်း

ကျွန်ုပ်တို့တွင်ဒေတာဘေ့စ်တစ်ခုရှိပြီးသိုလှောင်ထားသည့်လုပ်ထုံးလုပ်နည်း getmultipleresults () သည် စုံစမ်းမှုရလဒ်များကိုပြန်ပို့သည်ဆိုပါစို့။ ရလဒ်အစုတစ်ခုစီကိုဖတ်နိုင်အောင်ပြုလုပ်နိုင်ရန်နှင့်လက်ရှိရလဒ်ကိုသိုလှောင်ရန် Store_Result () ကို အသုံးပြုရန်လိုအပ်သည်။ ထို့နောက်နောက်ရလဒ်ကိုရရှိရန် Next_result () ကို သုံးပါ။

 <?php
// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");

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

// တစ် ဦး စုံစမ်းမှု execute
$query = "CALL getMultipleResults()";
if ($mysqli->multi_query($query)) {
    do {
        // လက်ရှိရလဒ် set ကိုသိမ်းထားပါ
        if ($result = $mysqli->store_result()) {
            // အပြောင်းအလဲနဲ့ရလဒ်အစုံ
            while ($row = $result->fetch_assoc()) {
                echo "ID: " . $row['id'] . " Name: " . $row['name'] . "<br>";
            }
            $result->free();
        }
        // နောက်ရလဒ်ကိုရယူပါ
    } while ($mysqli->next_result());
} else {
    echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}

// ဆက်သွယ်မှုကိုပိတ်ပါ
$mysqli->close();
?>

4 ။ code ခွဲခြမ်းစိတ်ဖြာ

အထက်ပါကုဒ်၌:

  1. မေးမြန်းချက်များစွာပါ 0 င်သည့် SQL ကြေငြာချက် Multi_Query () ကို အသုံးပြု. အကောင်အထည်ဖော်သည်။

  2. တစ် ဦး လုပ်ပါ ... စုံစမ်းမှုရလဒ်အစုတခုစီကို loop လုပ်ပါ။

    • Store_Result () လက်ရှိစုံစမ်းမှုသည်မှတ်ဥာဏ်ကိုရရှိသည်။

    • ဒေတာအတန်းတစ်ခုစီကို Fetch_AssoC () နည်းလမ်းဖြင့် ဖြတ်. ပြပါ။

  3. ရလဒ်များမရှိတော့သည်အထိလာမည့်စုံစမ်းမှုကိုရရှိရန်အတွက် Next_result () ကိုသုံးပါ။

5 ။ မှတ်စုဖို့အရာ

  • မှတ်ဥာဏ်အသုံးပြုမှု - အကယ်. စုံစမ်းမှု ရလဒ်သည်ကြီးမားလာပါက, ဤအချိန်တွင်သင်သည် quer_result () ကို အသုံးပြု. Request ရလဒ်များကိုလိုင်းအားဖြင့်ဖတ်ရှုနိုင်ရန်အချက်အလက်များကိုလိုင်းအားဖြင့်ဖတ်ရှုနိုင်ရန်စဉ်းစားနိုင်သည်။

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

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

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

Next_result () နှင့် store_result () ကိုပေါင်းစပ်ခြင်းအားဖြင့် PHP တွင်ရလဒ်မျိုးစုံကိုသင်ကိုင်တွယ်နိုင်သည်, သိုလှောင်ထားသောလုပ်ထုံးလုပ်နည်းများသို့မဟုတ်မေးမြန်းချက်များစွာပါ 0 င်သောအခြေအနေများအတွက်အလွန်အသုံးဝင်သည်။ ကုဒ်၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်တည်ငြိမ်မှုကိုများစွာတိုးတက်စေနိုင်သည်။