လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ၏ Next_result () ကိုအသုံးပြုခြင်း၏အခြေခံဖြစ်စဉ်ကို Multi- ရလဒ်အစုံကိုင်တွယ်ရန်

PHP ၏ Next_result () ကိုအသုံးပြုခြင်း၏အခြေခံဖြစ်စဉ်ကို Multi- ရလဒ်အစုံကိုင်တွယ်ရန်

gitbox 2025-04-28

PHP တွင် Next_Result () သည်ရလဒ်မျိုးစုံကိုလုပ်ဆောင်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ အထူးသဖြင့် SQL Queries များကိုကိုင်တွယ်သည့်အခါအထူးသဖြင့်ဆက်သွယ်မှုတစ်ခုတည်းတွင်မိတ္တူကူးယူခြင်းနှင့်ရလဒ်တစ်ခုချင်းစီ၏ရလဒ်အစုကိုတစ်ခုစီမှလုပ်ဆောင်လိုခြင်းကဲ့သို့သောအထူးသဖြင့်အသုံးဝင်သည်။ ဤဆောင်းပါးသည် PHP ၏ Next_result () function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

Next_result () function ကဘာလဲ။

Next_Result () သည် MySQLI extension တွင်ရှိသော mySQLI extension တွင်ရှိသောနည်းလမ်းတစ်ခုဖြစ်သည်။ Connection သည်မေးမြန်းမှုမျိုးစုံကိုလုပ်ဆောင်သောအခါ Next_result () သည် နောက်ရလဒ်သို့ပြောင်းရန်အသုံးပြုသည်။ ၎င်းသည်အထူးသဖြင့်သိုလှောင်ထားသည့်လုပ်ထုံးလုပ်နည်းများကိုအကောင်အထည်ဖော်သည့်အခါရှာဖွေမှုမျိုးစုံပြုလုပ်သောအခြေအနေများတွင်အလွန်အသုံးဝင်သည်။

MySQL တွင်မေးမြန်းချက်မျိုးစုံကို Semicolons ဖြင့်ခွဲထားသည်။ MySQLI ကိုအသုံးပြုသောအခါ PHP သည်ပထမမေးခွန်းကိုပုံမှန်အားဖြင့်ပထမဆုံးမေးမြန်းချက်ကိုသာပြန်လည်ပေးနိုင်သည်။ သင်နောက်ဆက်တွဲစုံစမ်းမှုရလဒ်ကိုလုပ်ဆောင်ရန်လိုအပ်ပါက Next_result () ကို သုံးရန်လိုအပ်သည်။

Next_Result () ကို အသုံးပြုခြင်း၏အခြေခံဖြစ်စဉ်ကို

  1. စုံစမ်းမှုများကိုအကောင်အထည်ဖော် <br> <br> ပထမ ဦး စွာ MySQLI connection တစ်ခု ဖန်တီး. စုံစမ်းမှုများကိုအကောင်အထည်ဖော်ပါ။ Multi_query () နည်းလမ်းကိုတစ်ပြိုင်နက်တည်း SQL Query များကိုပြုလုပ်ရန်အသုံးပြုနိုင်သည်။

  2. လုပ်ငန်းစဉ်၏ပထမရလဒ် setr> <br> စုံစမ်းမှုကိုအကောင်အထည်ဖော်ပြီးနောက်ပထမစုံစမ်းမှု၏ရလဒ်ကိုပထမမေးခွန်းကို စတိုးဆိုင် () သို့မဟုတ် use_result () နည်းလမ်းဖြင့်ရရှိသည်။

  3. နောက်ဆက်တွဲရလဒ်ကိုရယူရန် Next_Result () ကို သုံးပါ နောက်ရလဒ်ကိုပြောင်းရန် Next_Result () ကိုခေါ်ပါ။ ထိုအခါသင်သည်ပထမရလဒ် set ကိုကဲ့သို့အခြားရလဒ်အစုံများကို process လုပ်နိုင်ပါတယ်။

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

နမူနာကုဒ်

ရလဒ်အစုအမျိုးမျိုးကိုကိုင်တွယ်ရန် Next_result () function ကိုအမှန်တကယ်အသုံးပြုသော PHP နမူနာကုဒ်ဖြစ်သည်။

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

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

// စုံစမ်းမှုများကိုမျိုးစုံလုပ်ဆောင်ပါ
$query = "SELECT id, name FROM users; SELECT id, title FROM posts;";

if ($mysqli->multi_query($query)) {
    // ပထမ ဦး ဆုံးမေးမြန်းချက်ရလဒ်ဖြစ်စဉ်
    do {
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_assoc()) {
                echo "User: " . $row['name'] . " (ID: " . $row['id'] . ")<br>";
            }
            $result->free();
        }
        
        // နောက်ရလဒ်ကိုရယူပါ
        if ($mysqli->more_results()) {
            $mysqli->next_result();
        }
    } while ($mysqli->more_results());
} else {
    echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}

// 关闭ဆက်
$mysqli->close();
?>

အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည်မေးမြန်းချက်နှစ်ခုပါသည့် SQL ကြေညာချက်ကိုကျွန်ုပ်တို့လုပ်ဆောင်သည်။ $ MySQLI-> Multi_query ($ query) ကိုဤမေးမြန်းချက်နှစ်ခုကိုလုပ်ဆောင်ရန်အသုံးပြုသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်မေးမြန်းမှုရလဒ်များကိုတစ်ခုအားဖြင့်တစ်ခုချင်း စီကိုလုပ်ဆောင်သည်။ ရလဒ်အရသတ်မှတ်ထားသည့်အရာတစ်ခုစီကိုလုပ်ဆောင်ပြီးနောက် Next_result () နောက်ရလဒ်ကိုရယူရန်ဟုခေါ်သည်။

လက်တွေ့ကျသောလျှောက်လွှာစွမ်းရည်

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

  • အကောင်းဆုံးစွမ်းဆောင်ရည် <br> အကယ်. သင်ရလဒ်အချို့ကိုကိုင်တွယ်ရန်မလိုအပ်ပါကသူတို့ကိုသင်ကျော်သွားနိုင်သည်။ ရလဒ်ကိုမလုပ်ဆောင်ဘဲ Next_Result () ကိုခေါ်ပါ။

  • အမှားကိုင်တွယ်ဖြေရှင်းခြင်း Multi_query () ကို အသုံးပြု. မေးမြန်းချက်များစွာကိုအကောင်အထည်ဖော်သည့်အခါစုံစမ်းမှုတစ်ခုစီ၏ကွပ်မျက်မှုရလဒ်များကိုသေချာစစ်ဆေးပါ။ MySQLI-> More_results () ရလဒ်အစုအားလုံးသည်ပြုပြင်ပြောင်းလဲမှုများပြုလုပ်နိုင်ရန်သေချာစေနိုင်သည်။