PHP တွင် MySQL databases များကိုအသုံးပြုသောအခါ MySQLI တိုးချဲ့မှုသည်ဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်ရန်ကြွယ်ဝသောလုပ်ဆောင်နိုင်စွမ်းကိုပေးသည်။ အထူးသဖြင့် SQL ထုတ်ပြန်ချက်များစွာ, MySQLI :: Multi_query Method နှင့် MySQLI :: MySQLI :: MySQLI :: MySQLI :: MySQLI :: IRRNO attribute သည်အလွန်အရေးကြီးသောကိရိယာများဖြစ်သည်။ ဤဆောင်းပါးတွင်ဖော်ပြချက်ပေါင်းစုံအရေးယူမှုများတွင်ဖြစ်ပေါ်နိုင်သည့်အမှားများကိုထိရောက်စွာကိုင်တွယ်ရန်နှစ် ဦး စလုံးအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
MySQLI :: multiery :
Multi_query သည် SQL ထုတ်ပြန်ချက်များပါ 0 င်သော mySQLI အတန်းတွင်နည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်းသည်ထုတ်ပြန်ချက်များစွာကိုတစ်ပြိုင်နက်တည်းလုပ်ဆောင်နိုင်ပြီးရလဒ်ကိုပြန်ပို့နိုင်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်အထူးသဖြင့်အရောင်းအ 0 ယ်သို့မဟုတ်အသုတ်များထည့်သွင်းပါကအထူးသဖြင့်အရောင်းအ 0 ယ်များပါ 0 င်သည့်အခါတွင်၎င်းကိုအသုံးပြုသည်။
$mysqli->multi_query("SQLအသေအချာပေြာဆိုချက်1; SQLအသေအချာပေြာဆိုချက်2; SQLအသေအချာပေြာဆိုချက်3;");
MySQLI :: $ errno :
အဆိုပါ Errno attribute သည်ယခင် MySQL စစ်ဆင်ရေးမှထုတ်ပေးသောအမှားကုဒ်ကိုကိုယ်စားပြုသည်။ SQL query တစ်ခုကိုလုပ်ဆောင်နေစဉ်အမှားတစ်ခုဖြစ်ပေါ်ပါကအမှားကုဒ်ကို MySQLI-> ERRNO မှတဆင့်ရနိုင်သည်။ ဒီပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုမှတစ်ဆင့်အမှားတစ်ခုဖြစ်ပွားပြီးသက်ဆိုင်ရာအစီအမံများကိုကျွန်ုပ်တို့အလွယ်တကူစစ်ဆေးနိုင်သည်။
if ($mysqli->errno) {
echo "အမှားကုဒ်: " . $mysqli->errno;
}
MySQLI :: Multi_query သည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်အတွက် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်ပျက်ကွက်ပါက, ဤတွင်၎င်းတို့ကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြရန်ဥပမာတစ်ခုဖြစ်သည်။
<?php
// ဖန်တီး MySQLi ဆက်
$mysqli = new mysqli("localhost", "root", "password", "database");
// 检查ဆက်是否成功
if ($mysqli->connect_error) {
die("ဆက်失败: " . $mysqli->connect_error);
}
// အပိုင်းများစွာရှိသော SQL အသေအချာပေြာဆိုချက်
$sql = "
INSERT INTO users (username, email) VALUES ('user1', 'user1@example.com');
INSERT INTO users (username, email) VALUES ('user2', 'user2@example.com');
INSERT INTO users (username, email) VALUES ('user3', 'user3@example.com');
";
// 执行အပိုင်းများစွာရှိသော SQL အသေအချာပေြာဆိုချက်
if ($mysqli->multi_query($sql)) {
do {
// လက်ရှိစုံစမ်းမှု၏ရလဒ်အစုကိုရယူပါ
if ($result = $mysqli->store_result()) {
// လုပ်ငန်းစဉ်မေးမြန်းချက်ရလဒ်များ
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->free();
}
// ပိုမိုရလဒ်များရှိမရှိစစ်ဆေးပါ
} while ($mysqli->next_result());
// အမှားများကိုစစ်ဆေးပါ
if ($mysqli->errno) {
echo "Execute အမှား: " . $mysqli->error;
} else {
echo "所有အသေအချာပေြာဆိုချက်执行成功!";
}
} else {
// 如果多အသေအချာပေြာဆိုချက်查询失败,output error message
echo "Execution မအောင်မြင်ပါ: " . $mysqli->error;
}
$mysqli->close();
?>
Multi_query ၏ကွပ်မျက် :
Code တွင် MySQLI :: Multi_query Method ကိုအသုံးပြုသည်။ အကယ်. ကွပ်မျက်အောင်မြင်မှုအောင်မြင်လျှင်၎င်းသည် မှန်ကန် သည် ။
မျိုးစုံရလဒ်များ process ကို processing :
Multi_Query ကွပ်မျက်ခံရပြီးနောက် MySQLI :: Next_result မှတစ်ဆင့်ရလဒ်ပိုမိုများပြားလာခြင်းရှိမရှိကိုကျွန်ုပ်တို့စစ်ဆေးရန်လိုအပ်ပါသလား ။ ရလဒ်တစ်ခုစီကိုတ ဦး တည်းအနေဖြင့်သတ်မှတ်နိုင်သည်။
အမှားကိုင်တွယ်ခြင်း :
Multi-statement execute ပြီးစီးပြီးနောက် MySQLI :: errno မှတစ်ဆင့်အမှားတစ်ခုဖြစ်ပွားခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။ အကယ်. အမှားတစ်ခုဖြစ်ပါက MySQLI :: အမှား နှင့်လုပ်ဆောင်မှုမှတစ်ဆင့်အသေးစိတ်အချက်အလက်များကိုသင်ရယူနိုင်သည်။
ဆက်သွယ်မှုကိုပိတ်ပါ
စစ်ဆင်ရေးအားလုံးပြီးစီးပြီးနောက်ဒေတာဘေ့စ် connection ကိုပိတ်ရန်သတိရပါ။
MySQLI :: Multi_query သည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည့်အစွမ်းထက်သောနည်းလမ်းဖြစ်သည်။
MySQLI :: errno :: errno သည် Multi-statements များကိုကွပ်မျက်သည့်အခါကျွန်ုပ်တို့အားဖမ်းမိခြင်းနှင့်ကိုင်တွယ်ခြင်းကိုအထောက်အကူပြုသည်။
Multi-statles studies များကိုကိုင်တွယ်သောအခါရလဒ်အလုံးအရင်းကိုမှန်ကန်စွာပြုပြင်ပြီးအချိန်မီအမှားများမဖြစ်မည်ကိုစစ်ဆေးရန်သေချာပါသည်။
ဒီနှစ်ခုကိုအတူတကွအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် Multies Multi-statement execution တွင်ဖြစ်နိုင်ချေရှိသောအမှားအယွင်းများကိုပိုမိုထိရောက်စွာဖမ်းယူနိုင်ပြီးကျွန်ုပ်တို့၏ကုဒ်၏တည်ငြိမ်မှုနှင့်ယုံကြည်စိတ်ချရမှုကိုတိုးတက်စေနိုင်သည်။