PHP တွင် SQL ထုတ်ပြန်ချက်များစွာသည်ဒေတာဘေ့စ်စစ်ဆင်ရေးအတွက် MySQLI extension ကိုအသုံးပြုသောအခါသာမန်လိုအပ်ချက်တစ်ခုဖြစ်သည်။ အထူးသဖြင့်သုတ်သင်ပယ်ရှင်းခြင်းသို့မဟုတ်ငွေပေးငွေယူထိန်းချုပ်မှုလိုအပ်ပါက Multi-statement multi-stirection execution သည်ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ ကြေငြာချက်တစ်ခုစီ၏ကွပ်မျက်မှုအခြေအနေကိုပိုမိုကောင်းမွန်စွာထိန်းချုပ်နိုင်ရန်အတွက် MySQLI_STMT Object သည် attr_get method ကိုထောက်ပံ့ပေးပြီး developer များကထုတ်ပြန်ချက်၏ကွပ်မျက်မှု၏ဂုဏ်သတ္တိများကိုရရှိစေရန်ကူညီပေးနိုင်သည့် attr_get method method ကိုပေးသည်။
ဤဆောင်းပါးသည် MySQLI_STMT :: Attri_Get လုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းလင်းချက်ပေးလိမ့်မည်။
MySQLI_STMT :: Attr_et သည် MySQLI_STMT အတန်း၏နည်းလမ်းဖြစ်သည်။ ၎င်းသည် MySQLI တွင်လက်ရှိ Preprocessing Story ၏ဂုဏ်သတ္တိများကိုရရှိရန်အသုံးပြုသည်။ ၎င်းသည် parameter တစ်ခုအနေဖြင့်စဉ်ဆက်မပြတ် attribute ကိုလက်ခံရရှိပြီးသက်ဆိုင်ရာ attribute ၏တန်ဖိုးကိုပြန်ပို့သည်။ ဘုံဂုဏ်သတ္တိများသည်:
MySQLI_STMT_ATTR_APAX_Length : Execution Stax_length
MySQLI_STMT_ATTR_CARSOR_TYPE : cursor type ကိုရယူပါ။
နှင့်အခြားထုံးစံဂုဏ်သတ္တိများ။
ဤဂုဏ်သတ္တိများကိုရှာဖွေခြင်းဖြင့်လက်ရှိကြေညာချက်ကိုသွယ်ဝိုက်နားလည်နိုင်သည်။
MySQLI သည် MySQLI_Multi_Query ဟုခေါ်ဆိုခြင်းကဲ့သို့သော Multi-statement multi-difference ကိုကွပ်မျက်ခြင်းအားဖြင့်ထောက်ခံသည်။ Preprocessing ထုတ်ပြန်ချက်များ (MySQLI_STMT) အတွက်လည်းကျွန်ုပ်တို့သည်ထုတ်ပြန်ချက်များစွာကိုအကောင်အထည်ဖော်ရန်နှင့်ကြေငြာချက်တစ်ခုစီ၏ကွပ်မျက်အဆင့်အတန်းကိုဆုံးဖြတ်ရန်လည်းလိုအပ်သည်။
တစ်ခါတစ်ရံတွင်တရားစီရင်ခြင်းသည်တရားစီရင်ခြင်းသည်တရားစီရင်ခြင်းကိုအကဲဖြတ်ရန်မလုံလောက်ပါ။ ထို့ကြောင့်, ပြည်တွင်းအတွင်းလုပ်ဆောင်မှုအခြေအနေသတင်းအချက်အလက်များကို attr_get ၏အကူအညီဖြင့်ရရှိနိုင်သည်။
အောက်ပါဥပမာသည် Multi-statement attrimation တွင် MySQLI_STMMT :: Attr_get ကို အသုံးပြု. ကွပ်မျက်မှုအခြေအနေကိုမည်သို့စစ်ဆေးရမည်ကိုပြသသည်။ Code ရှိ URL များကိုပါ 0 င်သည့်ဒိုမိန်းအမည်အားလုံးကို M66.net ဖြင့်အစားထိုးထားပြီးလိုအပ်ချက်များနှင့်ကိုက်ညီသည်။
<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($mysqli->connect_errno) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ဝါကျများစွာSQL,semicolon ကိုအသုံးပြုပြီးခွဲထုတ်
$sql = "INSERT INTO users (name, email) VALUES (?, ?);";
$sql .= "UPDATE stats SET total_users = total_users + 1;";
// Preprocessing ထုတ်ပြန်ချက်များကိုပြင်ဆင်ပါ
$stmt = $mysqli->prepare($sql);
if (!$stmt) {
die("ကြိုတင်ကြေငြာချက်မအောင်မြင်ပါ: " . $mysqli->error);
}
// parameters တွေကိုချည်ထား,ပထမ ဦး ဆုံးကြေညာချက် parameters တွေကိုလိုအပ်ပါတယ်ဆိုပါစို့
$name = "Zhang San";
$email = "zhangsan@m66.net";
$stmt->bind_param("ss", $name, $email);
// 执行ဝါကျများစွာ
if ($stmt->execute()) {
// ဂုဏ်သတ္တိများကိုရယူပါ:အများဆုံးအရှည် updated ပါပြီ
$updateMaxLength = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
echo "အများဆုံးအရှည်သတင်းအချက်အလက်ကို update လုပ်ဖို့ရှိမရှိ: " . ($updateMaxLength ? "ဟုတ်ကဲ့" : "မဟုတ်") . "\n";
// Multi- ရလဒ်အစုံထုတ်ယူခြင်း
do {
// လက်ရှိရလဒ်၏အတန်းသို့မဟုတ်အရေအတွက် status ကိုရယူပါ
$result = $stmt->get_result();
if ($result) {
echo "လက်ရှိရလဒ် row tros ရေတွက်: " . $result->num_rows . "\n";
$result->free();
} else {
// အဘယ်သူမျှမရလဒ်အစုတခုရှိလျှင်,ထိခိုက် rovs ၏နံပါတ်ကိုစစ်ဆေးနိုင်သည်
echo "အတန်း၏နံပါတ်သွဇာလွှမ်းမိုးမှု: " . $stmt->affected_rows . "\n";
}
} while ($stmt->more_results() && $stmt->next_result());
} else {
echo "Execution မအောင်မြင်ပါ: " . $stmt->error . "\n";
}
$stmt->close();
$mysqli->close();
Multi-statement SQL ပြင်ဆင်မှု : Semicolons မှခွဲထုတ်ထားသော string တစ်ခုသို့ SQL ထုတ်ပြန်ချက်များကို string တစ်ခုသို့ splice မျိုးစုံထုတ်ပြန်ချက်များကို splice multics multips multips multies multies multies သို့ splice multips
ကြိုတင်ပြင်ဆင်ခြင်းနှင့်ခန္တဉ်များပြင်ဆင်ပါ ။ ပြင်ဆင်ရန် နှင့် bind_param မှတဆင့်လိုအပ်သော parameters တွေကိုချည်နှောင်ပါ။
Execution Station : Multi-statement batch တစ်ခုလုံးကို execute လုပ်ရန် Call Execute ကို နှိပ်ပါ။
Call Attack_get : MySQLI_STMT_APT_APDATE_MAX_MAX_LAX_LAX_LAX_LAX_AX_LAX_AX_LAX_AX_Length attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute attribute
Process Refult : Rev_result မှရရှိသောရလဒ်များကိုရယူပါ, အတန်းအရေအတွက်ကိုထုတ်ယူပါသို့မဟုတ် ဘေးဒဏ်သင့်သူများအား ထိခိုက်သောအတန်းအရေအတွက်ကိုရယူပါ။
Multi-level sets ကိုဖြတ်သန်းခြင်း - ပိုမိုသောရလဒ်များကိုတစ်ခုမှတစ်ခုချင်းစီကိုလုပ်ဆောင်ရန် ပိုမိုများပြားလာရန်ပိုမိုများပြားလာခြင်း နှင့် Next_result ကို သုံးပါ။
MySQL ဗားရှင်း (သို့) ယာဉ်မောင်းအားလုံးသည် Multi-stries multi-striprocessing ကိုအပြည့်အ 0 ထောက်ခံမှုနှင့်ပတ် 0 န်းကျင်ကိုထောက်ပံ့ရန်လိုအပ်သည်။
Att_get သည် Limited attribute များရရှိပြီး,
ပိုမိုရှုပ်ထွေးသော Execution status ကိုစောင့်ကြည့်လေ့လာခြင်းအတွက်အမှားကိုင်တွယ်ခြင်းနှင့်သစ်ထုတ်လုပ်ရေးယန္တရားများကိုပေါင်းစပ်ရန်အကြံပြုပါသည်။
MySQLI_STMT :: AttR_Get function သည် developer များအနေဖြင့်ထုတ်ပြန်ချက်များစွာကိုအကဲဖြတ်ရာတွင်ကွပ်မျက်မှုဆိုင်ရာအချက်အလက်များကိုကွပ်မျက်ခြင်းနှင့်ကူညီခြင်းများပြုလုပ်ရာတွင်ကွပ်မျက်မှုဆိုင်ရာအချက်အလက်များနှင့်ကွပ်မျက်မှုရလဒ်များရရှိစေရန်ကူညီနိုင်သည်။ Multi-letion processing ယန္တရားနှင့်ပေါင်းစပ်ပြီး SQL Batch Execution ၏စွမ်းဆောင်ရည်နှင့်သက်ရောက်မှုများကိုပိုမိုနားလည်သဘောပေါက်နိုင်သည်။
ဤဆောင်းပါးတွင်ဥပမာနှင့်ရှင်းလင်းချက်များသည်သင့်အားထိရောက်စွာကူညီနိုင်ပြီး PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် PHP တွင် php multi multi-statement ကို သုံး. လုံခြုံစွာအသုံးပြုနိုင်သည်။ ငါသည်သင်တို့ကိုချောမွေ့ programming အလိုရှိ၏!