PHP တွင် Next_result () function သည် MySQLI တိုးချဲ့ခြင်းစာကြည့်တိုက်မှစုံစမ်းမှုရလဒ်မျိုးစုံကိုကိုင်တွယ်ရန်ထောက်ပံ့ပေးသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ များသောအားဖြင့်မေးမြန်းမှုမျိုးစုံကိုအကောင်အထည်ဖော်သောအခါဤလုပ်ဆောင်မှုသည်နောက်ဆက်တွဲရလဒ်များရရှိရန်အတွက်မေးခွန်းများအကောင်အထည်ဖော်သည့်အခါမမျှော်လင့်သောအပြုအမူကိုရှောင်ရှားရန်နောက်ဆက်တွဲရလဒ်ကိုရရှိရန်အသုံးပြုသည်။
Next_result () function သည် MySQLI ၏အစိတ်အပိုင်းဖြစ်ပြီး SQL Query မျိုးစုံကိုအကောင်အထည်ဖော်သည့်အခါရလဒ်အားလုံးကိုမှန်ကန်စွာဖြတ်သန်းရန်အထူးဒီဇိုင်းပြုလုပ်ထားသည်။ ၎င်း၏ရည်ရွယ်ချက်မှာရလဒ်အနေဖြင့်ရလဒ်မရရှိနိုင်သည့်အထိနောက်ရလဒ်ကိုရရှိရန်ဖြစ်သည်။
Next_result () အသုံးပြုခြင်းကိုပိုမိုနားလည်ရန်ပထမ ဦး စွာကျွန်ုပ်တို့သည်မေးမြန်းချက်မျိုးစုံပါ 0 င်သောဥပမာတစ်ခုလိုအပ်သည်။ SQL Query မျိုးစုံပါ 0 င ်သော MySQL တောင်းဆိုမှုတစ်ခုပြုလုပ်နေသည်ဆိုပါစို့ ။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli("localhost", "user", "password", "database");
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// မျိုးစုံစုံစမ်းမှုထုတ်ပြန်ချက်များ
$sql = "SELECT * FROM users; SELECT * FROM orders; SELECT * FROM products;";
// စုံစမ်းမှုများကိုမျိုးစုံလုပ်ဆောင်ပါ
if ($mysqli->multi_query($sql)) {
// ပထမရလဒ်ကိုသတ်မှတ်ပါ
if ($result = $mysqli->store_result()) {
echo "Users Table Results:<br>";
while ($row = $result->fetch_assoc()) {
echo "User: " . $row["username"] . "<br>";
}
$result->free();
}
// နောက်ရလဒ်ကိုရယူပါ
while ($mysqli->next_result()) {
if ($result = $mysqli->store_result()) {
// တစ်ခုချင်းစီကိုစုံစမ်းမှု၏ရလဒ်များကို process
echo "<br>Next Result:<br>";
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " - Name: " . $row["name"] . "<br>";
}
$result->free();
}
}
}
// ဒေတာဘေ့စ် connection ကိုပိတ်ပါ
$mysqli->close();
?>
အထက်ပါကုဒ်တွင်ပထမ ဦး စွာကျွန်ုပ်တို့သည် Multi_Query () မှတဆင့် SQL Query သုံးခုကို execute လုပ်ပါ။ ထို့နောက်ရလဒ်တစ်ခုချင်းစီကိုဆက်တိုက်မှတစ်ဆင့် Next_result () ကို သုံးပါ။ ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်စုံစမ်းမှုတစ်ခုချင်းစီကိုပြန်လည်အကောင်အထည်ဖော်ခြင်းမရှိဘဲတူညီသောဒေတာဘေ့စ်ဆက်သွယ်မှုတွင်ရှာဖွေမှုများစွာကိုလုပ်ဆောင်နိုင်ပါသည်။
Call Order : Next_result () တိုင်းကိုခေါ်သည့်အခါတိုင်း MySQLI သည်လာမည့်ရလဒ်ကိုအလိုအလျောက်ရွေ့လျားလိမ့်မည်။ ရလဒ်မရှိတော့ပါက function ကို မှားယွင်းစွာ ပြန်ပို့သည်။
အခမဲ့အရင်းအမြစ်များ - ရလဒ်တစ်ခုစီကိုရယူခြင်းနှင့်ထုတ်ယူခြင်းပြီးနောက်မှတ်ဉာဏ်ယိုစိမ့်မှုကိုရှောင်ရှားရန် Query Refore ကိုထုတ်လွှတ်ရန် အခမဲ့ () နည်းလမ်းကိုသုံးရန်သတိရပါ။
အမှားကိုင်တွယ်ခြင်း - multi_query () နည်းလမ်းသည်အမှားအယွင်းများစွာကြုံတွေ့ရသောအခါအမှားအယွင်းများကိုကွပ်မျက်ခံရသည့်အမှားများကိုကြုံတွေ့ရလိမ့်မည် ။ ထို့ကြောင့်, စုံစမ်းမှုတစ်ခုစီအတွက်အမှားများကိုသေချာအောင်လုပ်ပါနှင့်အချိန်တိုအတွင်းခြွင်းချက်ကိုင်တွယ်လုပ်ဆောင်ပါ။
စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစားမှုများ - မေးမြန်းချက်များစွာအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်ဘက်တွင်မေးမြန်းချက်များစွာကိုပြုလုပ်လိမ့်မည်။ ထို့ကြောင့်စုံစမ်းမှု၏ဖွဲ့စည်းတည်ဆောက်ပုံနှင့်အချက်အလက်ပမာဏသည်စွမ်းဆောင်ရည်ကိုမထိခိုက်စေရန်အလယ်အလတ်ဖြစ်သည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်မေးမြန်းမှုများစွာကို အသုံးပြု. စုံစမ်းမှုတစ်ခုစီ၏ရလဒ်များကို sequence ကိုပြုလုပ်သည်။ အသုံးများသော application တစ်ခုတွင်အချက်အလက်များကိုမတူညီသောစားပွဲများမှအချက်အလက်များကိုဖတ်ရှုခြင်းနှင့်စာမျက်နှာပေါ်တွင်ပြသသည်။ ဇယားမျိုးစုံမှဒေတာများကိုမည်သို့ပေါင်းစပ်ရမည်ကိုပြသသည့်ရိုးရှင်းသောဥပမာတစ်ခုရှိသည်။
<?php
// ဤသည်အသုံးပြုသူစီမံခန့်ခွဲမှုစနစ်တစ်ခုဟုယူဆပါ,အသုံးပြုသူဇယားကို ဦး စွာမေးမြန်းပါ,နောက်တဖန်အမိန့်ဇယားကိုစစ်ဆေးပါ,ထုတ်ကုန်သတင်းအချက်အလက်ရယူပါ
$sql = "SELECT id, username FROM users; SELECT id, order_name FROM orders; SELECT id, product_name FROM products;";
// တစ် ဦး စုံစမ်းမှု execute
if ($mysqli->multi_query($sql)) {
// အသုံးပြုသူအချက်အလက်များကိုရယူပါ
if ($result = $mysqli->store_result()) {
echo "Users:<br>";
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . " - Username: " . $row["username"] . "<br>";
}
$result->free();
}
// အမိန့်ဒေတာကိုရယူပါ
while ($mysqli->next_result()) {
if ($result = $mysqli->store_result()) {
echo "<br>Orders:<br>";
while ($row = $result->fetch_assoc()) {
echo "Order ID: " . $row["id"] . " - Order Name: " . $row["order_name"] . "<br>";
}
$result->free();
}
}
// ထုတ်ကုန်ဒေတာကိုရယူပါ
while ($mysqli->next_result()) {
if ($result = $mysqli->store_result()) {
echo "<br>Products:<br>";
while ($row = $result->fetch_assoc()) {
echo "Product ID: " . $row["id"] . " - Product Name: " . $row["product_name"] . "<br>";
}
$result->free();
}
}
}
$mysqli->close();
?>
ဤဥပမာတွင် အသုံးပြုသူများ , အမိန့် နှင့် ထုတ်ကုန် သုံးစားပွဲမှဒေတာများကိုအောင်မြင်စွာရယူနိုင်ပြီးတစ်ခုချင်းစီ၏ရလဒ်တစ်ခု၏ရလဒ်များကိုတစ် ဦး ချင်းစီ၏ရလဒ်များကိုအောင်မြင်စွာရယူနိုင်ပါသည်။