PHP တွင်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်ရန်လိုအပ်ပြီးတစ်ခါတစ်ရံစားပွဲမျိုးစုံတွင်လုပ်ဆောင်မှုများပြုလုပ်နိုင်ရန်အတွက်ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်ရန်လိုအပ်သည်။ Cross-table queries ၏ရလဒ်များကိုထိရောက်စွာလုပ်ဆောင်နိုင်ရန်အတွက် PHP ၏ Next_result () function ကို အသုံးပြု. ရလဒ်မျိုးစုံကိုစီမံခန့်ခွဲရန်နှင့်လုပ်ငန်းစဉ်များကိုအသုံးပြုနိုင်သည်။ PHP ၏ Next_result () function ကိုအကောင်အထည်ဖော်ရန် PHPP ၏ Next_Result () function ကိုမည်သို့ဖြည့်ဆည်းပေးနိုင်မည်နည်း။
Next_result () function သည် PHP MySQLI extension တွင် function တစ်ခုဖြစ်ပြီးလက်ရှိဆက်သွယ်မှု၏နောက်ရလဒ်အစုအဝေးသို့သွားရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ များသောအားဖြင့် SQL Query မျိုးစုံကိုကျွန်ုပ်တို့လုပ်ဆောင်သောအခါရလဒ်အစုများကိုပြန်ပို့ပါမည်။ Next_result () function ကကျွန်တော်တို့ကိုဖြတ်သန်းသွားတယ်, ဒီ function ကို connection အသစ်တစ်ခုကိုထပ်ခါတလဲလဲဖွင့်စရာမလိုဘဲဒေတာဘေ့စ်ဆက်သွယ်မှုတွင်မေးမြန်းချက်မျိုးစုံကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသည်။
ဒေတာဘေ့စ် connection တွင်စုံစမ်းမှုစစ်ဆင်ရေးမျိုးစုံလုပ်ဆောင်သောအခြေအနေမျိုးရှိပြီး, စုံစမ်းမှု၏ရလဒ်များကိုအလှည့်အပြောင်းတစ်ခုပြုလုပ်ရန်လိုအပ်သည်ဆိုပါစို့။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်သုံးစွဲသူ၏ကိုယ်ရေးကိုယ်တာအချက်အလက်များကိုမေးမြန်းပြီးအသုံးပြုသူနှင့်သက်ဆိုင်သောအမှာစာအချက်အလက်များကိုမေးမြန်းသည်။ ဒီကိစ္စမှာကျွန်တော်တို့ဟာ Next_result () ကို မသုံးပါကရလဒ်မျိုးစုံကိုမစီမံနိုင်တဲ့ပြ problems နာတွေကိုကြုံတွေ့ရနိုင်တယ်။
PHP script တွင်အောက်ပါ SQL မေးမြန်းမှုကိုအောက်ပါ SQL မေးမြန်းမှုကိုလုပ်ဆောင်ပါဆိုပါစို့။
$query1 = "SELECT * FROM users WHERE id = 1"; // အသုံးပြုသူအချက်အလက်ကိုမေးမြန်းခြင်း
$query2 = "SELECT * FROM orders WHERE user_id = 1"; // အသုံးပြုသူအမိန့်သတင်းအချက်အလက်ကိုမေးမြန်းပါ
// တစ် ဦး စုံစမ်းမှု execute
$conn->multi_query($query1 . ";" . $query2);
အထက်ပါကုဒ်သည် multi_query () နည်းလမ်းအားဖြင့်တစ်ပြိုင်နက်မေးမြန်းချက်နှစ်ခုကိုကွပ်မျက်မည်။ ဤအချက်မှာကျွန်ုပ်တို့သည်ဤရလဒ်နှစ်ခုကို နောက်ရလဒ်နှစ်ခုကို ပြန်လည်လုပ်ဆောင်ရန်လိုအပ်သည်။
multi_query () () () () , စုံစမ်းမှုတစ်ခုစီ၏ရလဒ်များကိုရရှိရန်ကျွန်ုပ်တို့သည် Next_result () ကို သုံးနိုင်သည်။
// ပထမ ဦး ဆုံးမေးမြန်းချက်ကို execute
if ($result = $conn->store_result()) {
// ပထမ ဦး ဆုံးမေးမြန်းချက်ရလဒ်ဖြစ်စဉ်
while ($row = $result->fetch_assoc()) {
echo "User ID: " . $row['id'] . "<br>";
echo "Username: " . $row['username'] . "<br>";
}
}
// အသုံးပြု next_result() လာမယ့်စုံစမ်းမှုရလဒ်အစုအဝေးသို့ခုန်
if ($conn->more_results()) {
$conn->next_result();
}
// ဒုတိယမေးခွန်းကိုလုပ်ဆောင်ပါ
if ($result = $conn->store_result()) {
// ဒုတိယစုံစမ်းမှုရလဒ်ဖြစ်စဉ်ကို
while ($row = $result->fetch_assoc()) {
echo "Order ID: " . $row['id'] . "<br>";
echo "Order Total: " . $row['total'] . "<br>";
}
}
အထက်ပါကုဒ်တွင်ပထမ ဦး စွာကျွန်ုပ်တို့သည် Store_Result () မှတဆင့်ပထမ ဦး ဆုံးမေးမြန်းချက်၏ရလဒ်အစုကိုရရှိပါသည်။ ထို့နောက်နောက်လာမည့် စုံစမ်းမှု ၏ရလဒ်များကိုရယူရန်နှင့်လုပ်ငန်းစဉ်ကိုရယူရန်အတွက် store_result () ကို သုံးရန်နောက်ထပ်ရလဒ်ကိုကျော်သွားပါ။
Next_result () function သည် cross-table လုပ်ငန်းလည်ပတ်မှုနှင့်စုံစမ်းမှုရလဒ်များစွာလုပ်ဆောင်မှုများပြုလုပ်သောအခြေအနေများအတွက်အထူးသဖြင့်သင့်လျော်သည်။ အသုံးပြုသူသတင်းအချက်အလက်စားပွဲ၌, အမိန့်သတင်းအချက်အလက်စားပွဲပေါ်မှာ, အသုံးပြုသူမှတ်ချက်ပေးရန်ဇယားစသည်ဖြင့်သင်ကွဲပြားသောစားပွဲများကိုရယူရန်လိုအပ်သည်ဆိုပါစို့။ စားပွဲဝိုင်းတစ်ခုစီ၏စုံစမ်းမှုရလဒ်များကိုရယူရန်အတွက် Next_result () function ကိုသုံးနိုင်သည်ဆိုပါစို့။
ဥပမာ, ဇယားမေးမြန်းချက်များစွာကိုပေါင်းစပ်ထားသောလက်တွေ့ကျသောအမှုတစ်ခုဖြစ်သည်။
$query1 = "SELECT * FROM users WHERE id = 1"; // အသုံးပြုသူသတင်းအချက်အလက်
$query2 = "SELECT * FROM orders WHERE user_id = 1"; // အမိန့်သတင်းအချက်အလက်
$query3 = "SELECT * FROM reviews WHERE user_id = 1"; // အသုံးပြုသူမှတ်ချက်များ
$conn->multi_query($query1 . ";" . $query2 . ";" . $query3);
// 处理အသုံးပြုသူသတင်းအချက်အလက်
if ($result = $conn->store_result()) {
while ($row = $result->fetch_assoc()) {
echo "User ID: " . $row['id'] . "<br>";
echo "Username: " . $row['username'] . "<br>";
}
}
// လာမည့်ရလဒ် set ကိုမှခုန်,အမိန့်သတင်းအချက်အလက်
if ($conn->more_results()) {
$conn->next_result();
}
if ($result = $conn->store_result()) {
while ($row = $result->fetch_assoc()) {
echo "Order ID: " . $row['id'] . "<br>";
echo "Order Total: " . $row['total'] . "<br>";
}
}
// လာမည့်ရလဒ် set ကိုမှခုန်,မှတ်ချက်ပေးရန်အချက်အလက်
if ($conn->more_results()) {
$conn->next_result();
}
if ($result = $conn->store_result()) {
while ($row = $result->fetch_assoc()) {
echo "Review ID: " . $row['id'] . "<br>";
echo "Review Comment: " . $row['comment'] . "<br>";
}
}
ဒီဥပမာမှာကျွန်တော်တို့ဟာမေးခွန်းသုံးခုကိုဖျော်ဖြေတင်ဆက်ပြီးအသုံးပြုသူသတင်းအချက်အလက်ကိုရယူခြင်း, သတင်းအချက်အလက်များကိုအမှာစာနှင့်သတင်းအချက်အလက်များကိုအသီးသီးတင်ပြသည်။ Next_result () ကျွန်ုပ်တို့သည် query ရလဒ်ကိုစနစ်တကျသတ်မှတ်ထားနိုင်ရန်အတွက်ကျွန်ုပ်တို့လုပ်ဆောင်နိုင်ကြသည်။
PHP ၏ Next_result () function ကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အထူးသဖြင့်စားပွဲဖွယ်ရှာဖွေမှုများကိုအကောင်အထည်ဖော်သည့်အခါရလဒ်မျိုးစုံကိုထိရောက်စွာစီမံခန့်ခွဲနိုင်သည်။ ဤနည်းလမ်းသည်ဒေတာဘေ့စ်၏ဆက်သွယ်မှုတစ်ခုတွင်မေးမြန်းချက်များစွာ၏ရလဒ်များကိုပြုလုပ်ရန်ခွင့်ပြုသည်။
လာမယ့် _Resulult () ကို အကောင်အထည်ဖော်ရန်နောက်ဆောင်းပါးသည်ရလဒ်များကိုအကောင်အထည်ဖော်ရန်အတွက်မည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးကသင်၏ရလဒ်များကိုအကောင်အထည်ဖော်ရန်အတွက်မည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ကူညီပေးပါ။