MySQL ဒေတာဘေ့စ်ကိုအသုံးပြုသော PHP applications များကိုတီထွင်သည့်အခါ SQL Queries ၏အသုတ်များသည်ဘုံလိုအပ်ချက်များအနက်မှတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်, ဒေတာကိုအသစ်ပြောင်းခြင်း, မွမ်းမံခြင်းသို့မဟုတ်ဖျက်ခြင်းကဲ့သို့သောစစ်ဆင်ရေးများသည်အချက်အလက်အပြောင်းအလဲများကိုပြုလုပ်နိုင်သည်။ Batch Operations ကိုဖျော်ဖြေတင်ဆက်သည့်အခါ အကယ်. သင်သည်အဆင်မပြေမှုမပြုလုပ်ပါက၎င်းသည်အလွန်အကျွံမှတ်ဉာဏ်သုံးစွဲမှုကိုဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့် SQL Queries ကိုအသုတ်အသေခံခြင်းအတွက်မှတ်ဥာဏ်အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်လုပ်ရန်အလွန်အရေးကြီးသည်။ MySQLI :: stmt_init function မှတဆင့် SQL ကိုကွပ်မျက်သည့်အခါဤဆောင်းပါးသည်မှတ်ဥာဏ်အသုံးပြုမှုကိုမည်သို့ကောင်းမွန်အောင်လုပ်ရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။
PHP တွင် MySQLI extension သည် SQL Query များကို execute လုပ်ရန်ဘုံနည်းလမ်းနှစ်ခုကိုပေးသည်။
SQL Query ကိုတိုက်ရိုက် execute လုပ်ရန် query method ကိုသုံးပါ။
SQL Query များကို execute လုပ်ရန်ပြင်ဆင်သည့်နည်းလမ်းများကို ပြင်ဆင် ပါ။
MySQLI :: Stmtt_init သည် SQL ကြေငြာချက်တစ်ခုအစကိုစတင်ရန်အသုံးပြုသော MySQLI အတန်းရှိနည်းလမ်းတစ်ခုဖြစ်သည်။ ကြိုတင်ပြင်ဆင်မှုများနှင့်နှိုင်းယှဉ်လျှင်အထူးသဖြင့်အသုတ်တွင်ကွပ်မျက်သည့်အခါ SQL Query ကိုတိုက်ရိုက်ကွပ်မျက်ခြင်းနှင့်နှိုင်းယှဉ်ပါက Preprocessing ထုတ်ပြန်ချက်များ၏ရလဒ်များသည်စွမ်းဆောင်ရည်နှင့်လုံခြုံမှုရှိကြသည်။
PHP တွင် Batch SQL operations များကိုဖျော်ဖြေသောအခါများသောအားဖြင့်သင်သည်မှတ်ဥာဏ်ပြ problems နာနှစ်ခုကိုရင်ဆိုင်ရတတ်သည်။
Memory စားသုံးမှု - SQL query တစ်ခုစီကိုလွတ်လပ်စွာလုပ်ဆောင်ပါက SQL query question ားကိုတည်ဆောက်ရန်အတွက် PHP သည် SQL query question လုပ်ခြင်းစသည်ဖြင့် PHP သည် Memory ကိုသုံးစွဲရန်လိုအပ်သည်။ Batch Execution စဉ်အတွင်းဤမှတ်ဉာဏ်သုံးစွဲမှုစုဆောင်းခြင်းသည်မှတ်ဥာဏ်အလွန်အကျွံဖိအားပေးမှုများဖြစ်ပေါ်လာသည်။
ကွန်ယက် latency : SQL query ကိုကွပ်မျက်ခံရလျှင်ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်ပါကမကြာခဏဆိုသလိုကွန်ယက်တောင်းဆိုမှုများသည်စုံစမ်းမှုအနေဖြင့်တိုးပွားလာလိမ့်မည်။
ဤပြ problems နာများကိုရှောင်ရှားရန် MySQLI :: Stmtt_init function သည်အသုတ်စစ်ဆင်ရေးအတွက်ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ရန်နေရာဖြစ်သည်။ Preprocessing ထုတ်ပြန်ချက်များကိုအသုံးပြုခြင်းအားဖြင့်မှတ်ဥာဏ်သုံးစွဲမှုကိုလျှော့ချပြီးလုပ်ဆောင်မှုကိုတိုးတက်ကောင်းမွန်စေနိုင်သည်။
အောက်ပါအဆင့်များမှတဆင့်အသုတ် SQL ကွပ်မျက်စဉ်အတွင်းကျွန်ုပ်တို့သည်မှတ်ဥာဏ်အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
ပထမ ဦး စွာ MySQLI အရာဝတ်ထုတစ်ခုကိုဖန်တီးရန်နှင့် stmt_init function ကိုအသုံးပြုပြီး MySQLI_STMT အရာဝတ်ထုတစ်ခုကိုစတင်ရန်လိုအပ်သည်။ ဤအရာဝတ်ထုသည် SQL Query များကိုပြင်ဆင်ရန်နှင့် execute လုပ်ရန်အသုံးပြုလိမ့်မည်။
<?php
$mysqli = new mysqli("m66.net", "user", "password", "database");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ပြင်ဆင်ထားကြေညာချက်အရာဝတ်ထုကိုအစပျိုး
$stmt = $mysqli->stmt_init();
?>
SQL query တစ်ခုကိုပြင်ဆင်ရန် ပြင်ဆင်ထားသော function ကိုသုံးပါ။ ကျနော်တို့ placeholders ကိုသုံးနိုင်ပါတယ် ? အမှန်တကယ်တန်ဖိုးများအစား, စုံစမ်းမှု၏လုံခြုံရေးနှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။
$sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";
if (!$stmt->prepare($sql)) {
die("SQL ပြင်ဆင်မှုမအောင်မြင်ပါ: " . $stmt->error);
}
?>
ထို့နောက် SQL query ၏ placeholder သို့အမှန်တကယ်ဒေတာများကိုချည်နှောင်ရန် bind_param နည်းလမ်းကိုအသုံးပြုပါ။ Bind_param သည် ဒေတာများကို parameters များကို parameters များကို parameters များအဖြစ်ဖြတ်သန်းသွားနိုင်သည်။
$stmt->bind_param("ss", $param1, $param2);
?>
ဤဥပမာတွင် "အက်စ်အက်စ်" သည် string type parameters များကိုကိုယ်စားပြုသည်။ parameters တွေကိုများစွာရှိလျှင်, နှစ် ဦး စိမ်း -toating-point နံပါတ်များအတွက် "D" အတွက် "D" အတွက် "d" အတွက် "D Doubleating-point နံပါတ်များအတွက် " D " အတွက်" D Double-Point Nums စသည်) အတွက်လိုအပ်သောအမျိုးအစားအမှတ်အသားကိုလိုအပ်သလိုသုံးနိုင်သည်။
Memory အသုံးပြုမှုကိုအသုတ်ဖြင့်ပြုလုပ်သောအခါ Memory အသုံးပြုမှုကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်ရန်အတွက်ကွင်းဆက်များမှအချက်အလက်များကိုဖြည့်စွက်ပြီး SQL Queries များကို execute method ကို သုံး. execute လုပ်နိုင်သည်။
$data = [
['value1', 'value2'],
['value3', 'value4'],
// နောက်ထပ်အချက်အလက်များ
];
foreach ($data as $row) {
$param1 = $row[0];
$param2 = $row[1];
// Preprocessing ထုတ်ပြန်ချက်များ execute
if (!$stmt->execute()) {
die("Execution မအောင်မြင်ပါ: " . $stmt->error);
}
}
$stmt->close();
$mysqli->close();
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အချက်အလက်အားလုံးကိုမှတ်ဉာဏ်ထဲသို့မွေ့လျော်။ SQL Conferces ကိုတစ် ဦး ချင်းစီကွပ်မျက်ခြင်းနှင့် SQL Query များကိုတစ်ခုဖြင့်လုပ်ဆောင်ခြင်းနှင့်စွမ်းဆောင်ရည်ကိုလျော့နည်းစေသည်။
MySQLI :: stmt_init ကို အသုံးပြု. SQL Conferces များကိုအသုတ်တွင် SQL Quertes များကိုအကောင်အထည်ဖော်သည့်အခါမှတ်ဥာဏ်အသုံးပြုမှုကိုအကောင်းဆုံးအချက်များပြုလုပ်ရန် Memory သုံးစွဲမှုကိုအလွန်လျှော့ချနိုင်ပြီး Execution ထိရောက်မှုကိုလျှော့ချနိုင်သည်။ အထူးသဖြင့်ဒေတာပမာဏသည်အလွန်ကြီးမားသောအခါ SQL ၏ရှာဖွေမှုတစ်ခုဖြစ်သည့်နည်းလမ်းတစ်ခုနှင့် Binding Parametersks အားဖြင့်တစ် ဦး နှင့် binding parametersceters များကတစ် ဦး နှင့် binding parametersceters များကတစ် ဦး ချင်းစီအားဖြင့်တစ်ခုစီကိုအကောင်အထည်ဖော်ရန်နည်းလမ်းကိုထိထိရောက်ရောက်ထိန်းချုပ်ထားသည်။
အတိုချုပ်ဆိုရလျှင် MySQLI :: stmtt_init သည် SQL သတ်တော၏လုံခြုံရေးကိုတိုးတက်စေရုံသာမက,