PHP တွင် mysqli_multi_query () function သည် SQL query ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်နိုင်သည်။ ယေဘုယျအားဖြင့်မေးမြန်းချက်များကိုတူညီသောတောင်းဆိုမှုဖြင့်ပေးပို့နိုင်သည်။ MySQLI_FETCHT_FETCE_FETCH_ROW () , mysult ( ) function and mysqli_multi_multi_multi_multi_multi_multi_multi_multi_query () ကိုသုံးရန်ဤဆောင်းပါးသည်ဤဆောင်းပါးသည်မေးခွန်းများမှအချက်အလက်များရနိုင်သည်။
MySQLI_Multi_Query () function ကိုမသုံးမီ MySQL ဒေတာဘေ့စ်ဆက်သွယ်မှုကို ဦး စွာတည်ဆောက်ရန်ပထမ ဦး ဆုံးလိုအပ်သည်။ ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်ကုဒ်ဥပမာတစ်ခုဖြစ်သည်။
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database_name";
// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
?>
MySQLI_Multi_Query () function သည် SQL query stries ထုတ်ပြန်ချက်များကိုတစ်ပြိုင်နက်တည်းကွပ်မျက်ရန်ခွင့်ပြုသည် ။ ဤတွင် MySQLI_Multi_Multi_query () ကိုအသုံးပြုပြီးဥပမာများစွာကိုလုပ်ဆောင်ရန်ဥပမာတစ်ခုဖြစ်သည်။
<?php
$sql = "SELECT * FROM users; SELECT * FROM orders;";
if ($conn->multi_query($sql)) {
do {
// စုံစမ်းမှုရလဒ်များကိုရယူပါ
if ($result = $conn->store_result()) {
// ရလဒ်ကိုကျော်ကြား
while ($row = $result->fetch_assoc()) {
echo "အသုံးပြုသူID: " . $row['user_id'] . " - အသုံးပြုသူ名: " . $row['username'] . "<br>";
}
$result->free();
}
// လာမယ့်ရလဒ် set ရှိလျှင်,တယ်လီဖုန်းဆက်ခြင်း next_result() လာမယ့်ရလဒ်ကိုပြောင်းပါ
} while ($conn->next_result());
} else {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $conn->error;
}
?>
အထက်ပါကုဒ်တွင် mysqli_multi_query () မေးမြန်းချက်နှစ်ခုကိုကွပ်ကဲသည်။ ပထမ ဦး ဆုံးမေးမြန်းချက်သည် သုံးစွဲသူများ ဇယားမှအသုံးပြုသူအားလုံးကိုရရှိသည်။ ဒုတိယမေးခွန်းသည် အမိန့် ဇယားမှအမှာစာအချက်အလက်အားလုံးကိုရရှိသည်။ Loop သည် စုံစမ်းမှုရလဒ်အလုံးအရင်းကိုပြုပြင်ပြောင်းလဲရန်သေချာသည်။
MySQLI_Multi_Query () function သည်ရှာဖွေမှုမျိုးစုံကိုကွပ်မျက်ခံရသည့်အခါရလဒ်များစွာသည်ရလဒ်အပြည့်အစုံကိုပြန်ပို့သည်။ နောက် function ၏ function သည် function ၏လုပ်ဆောင်ချက်မှာနောက်ရလဒ်သို့ပြောင်းရွှေ့ရန်ဖြစ်သည်။ Next_result () တိုင်းအချိန်တိုင်းအခေါ်ခံရတိုင်းလာမည့်ရလဒ်ရှိမရှိစစ်ဆေးပါလိမ့်မည်။ သို့ဆိုလျှင်လုပ်ဆောင်မှုသည် အမှန်ပင် ပြန်လာလိမ့်မည် ။
အထက်ဖော်ပြပါကုဒ်များတွင်ကျွန်ုပ်တို့သည် query from roy `query for letture sets များအားလုံးမရှိတော့သည့်အထိဖြတ်သန်းသွားနိုင်အောင်လုပ်ရန် loop နှင့် Next_result () ကို အသုံးပြုသည်။
အကယ်. အမှားမျိုးစုံကိုအကောင်အထည်ဖော်နေစဉ်အမှားတစ်ခုဖြစ်ပါကအမှားအယွင်းကို $ Conn-> Error မှတဆင့်ရနိုင်သည်။ အထက်ဖော်ပြပါကုဒ်များတွင် query ပျက်ကွက်သောအခါကျွန်ုပ်တို့သည်အမှားအယွင်းများမအောင်မြင်ပါကအချက်အလက်များမအောင်မြင်ပါက,
ရှာဖွေမှုအားလုံးကိုအကောင်အထည်ဖော်ပြီးနောက်ရလဒ်အားလုံးကိုပြုပြင်ပြီးနောက်ဒေတာဘေ့စ် connection ကိုပိတ်ရန်သတိရပါ။
<?php
$conn->close();
?>
MySQLI_Multi_query () နှင့် နောက်ဆက်တွဲ လုပ်ဆောင်ချက်များနှင့်အတူ PHP သည် SQL Queries မျိုးစုံ၏ရလဒ်ကိုအလွယ်တကူကိုင်တွယ်နိုင်သည်။ ဤချဉ်းကပ်နည်းသည်အသုတ်မေးမြန်းချက်များနှင့်ဒေတာရလဒ်မျိုးစုံလိုအပ်သည့်အပလီကေးရှင်းများပြုလုပ်ရန်အလွန်အသုံးဝင်သည်။ စုံစမ်းမှုအမျိုးမျိုးကိုအကောင်အထည်ဖော်ရန်ဤဆောင်းပါးနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အားနားလည်နိုင်ရန်ကူညီနိုင်လိမ့်မည်ဟုမျှော်လင့်ပါ။
သင်ပိုမိုအကူအညီလိုအပ်ပါကကျွန်ုပ်တို့၏တရားဝင်စာရွက်စာတမ်းများကိုသင်ပိုမိုသိရှိလိုပါက https://gitbox.net/docs/mysql သို့ဝင်ရောက်ကြည့်ရှုနိုင်သည်။