PHP ရှိဒေတာဘေ့စ်လုပ်ငန်းများအတွက် MySQLI extension များကိုအသုံးပြုသောအခါကြိုတင်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များသည် SQL ဆေးထိုးခြင်းနှင့်စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်လုံခြုံပြီးထိရောက်သောနည်းလမ်းဖြစ်သည်။ MySQLI :: stmt_init သည်အများအားဖြင့် ပြင်ဆင်ခြင်း () နှင့်အခြား preprocessing လုပ်ဆောင်ချက်များနှင့်အခြား preprocessing functions များကိုအများအားဖြင့်အသုံးပြုသောအရာဝတ်ထုများကိုစတင်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးသည်ဒေတာဗေ့စ်သို့ချိတ်ဆက်ရန် MySQLI :: stmt_init function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်မိတ်ဆက်ပေးမည်။
MySQLI :: stmt_init သည် MySQLI_STMT (ကြိုတင်မဆိုဖော်ပြထားသောကြေငြာချက်) အရာဝတ်ထုကိုအစပြုရန်အသုံးပြုသော MySQLI အတန်းအစား၏နည်းလမ်းဖြစ်သည်။ Initialization ပြီးနောက်, သင်သည် SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ရန် ပြင်ဆင်ခြင်း () နည်းလမ်းကိုသုံးနိုင်သည်။ ဤချဉ်းကပ်နည်းသည် MySQLI-> ပြင်ဆင်ခြင်း () ပြင်ဆင်ခြင်းထက်ပိုမိုထိန်းချုပ်ခြင်းထက်ပိုမိုထိန်းချုပ်မှုပေးသည်။
$stmt = $mysqli->stmt_init();
MySQLI () အသစ် မှတစ်ဆင့် MySQLI သည်ဒေတာဘေ့စ် connection အရာဝတ်ထုတစ်ခုဖြစ်သောဒေတာဘေ့စ် connection objectiated ဖြစ်သည်။ stmtt_init () MySQLI_STMT အရာဝတ်ထုကိုပြန်ပို့သည်။
stmtt_init မသုံးမီ () , ဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုကိုထူထောင်ရမည်ဖြစ်သည်။ MySQL database တစ်ခုနှင့်ချိတ်ဆက်ခြင်း၏အခြေခံဥပမာတစ်ခုမှာ -
$mysqli = new mysqli("localhost", "db_user", "db_password", "db_name");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
StMT_INIT () ကိုဘယ်လိုသုံးရမလဲဆိုတာပြတဲ့ဥပမာတစ်ခုက stmt_init () ကို ဘယ်လိုသုံးရမလဲ, မေးရိုးပြင်ဆင်ရန်,
<?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$mysqli = new mysqli("localhost", "db_user", "db_password", "db_name");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ကြေညာချက်အရာဝတ်ထုကိုအစပျိုး
$stmt = $mysqli->stmt_init();
if ($stmt->prepare("SELECT username, email FROM users WHERE id = ?")) {
// parameters တွေကိုချည်ထား
$id = 1;
$stmt->bind_param("i", $id);
// တစ် ဦး စုံစမ်းမှု execute
$stmt->execute();
// binding ရလဒ် variable တွေကို
$stmt->bind_result($username, $email);
// ဒေတာကိုရယူပါ
while ($stmt->fetch()) {
echo "အသုံးပြုသူ: $username, စာပို့: $email\n";
}
// ကြေငြာချက်
$stmt->close();
} else {
echo "ကြိုတင်ကြေငြာချက်ကြိုတင်ပြင်ဆင်မှုမအောင်မြင်ပါ: " . $mysqli->error;
}
// ဆက်သွယ်မှုကိုပိတ်ပါ
$mysqli->close();
?>
အထူးသဖြင့်တစ်ပြိုင်နက်တည်းသို့မဟုတ်မသေချာမရေရာမှုများနှင့်ပတ် 0 န်းကျင်တွင် ပတ် 0 န်းကျင် တွင် ပြင်ဆင်ခြင်းကို စစ်ဆေးရန်အမှားစစ်ဆေးခြင်းကိုဂရုပြုပါ။ SQL အမှားများကိုစွန့်ပစ်ခြင်းသို့မဟုတ်အရင်းအမြစ်များကိုစွန့်ပစ်ခြင်းကိုရှောင်ရှားရန်ခြွင်းချက်ကိုင်တွယ်ခြင်းသို့မဟုတ်ခြွင်းချက်ဆိုင်ရာဆုံးဖြတ်ချက်များကိုသေချာစွာထည့်ပါ။
ဥပမာအားဖြင့်, login system တစ်ခုတွင်သင်သည် stmt_init () ကို သုံးနိုင်သည်။ အသုံးပြုသူ၏အရာ 0 ိုင်းအနေဖြင့်အသုံးပြုသူအမည်မှအသုံးပြုသူအမည်ကိုဖတ်ပြီးလုံခြုံစိတ်ချရသောရှာဖွေမှုတစ်ခုကိုလုပ်ဆောင်ပါ။
<?php
$mysqli = new mysqli("localhost", "db_user", "db_password", "db_name");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$stmt = $mysqli->stmt_init();
if ($stmt->prepare("SELECT id FROM users WHERE username = ?")) {
$username_input = $_POST['username'] ?? '';
$stmt->bind_param("s", $username_input);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
echo "အသုံးပြုသူတည်ရှိသည်";
} else {
echo "အသုံးပြုသူမတည်ရှိပါဘူး";
}
$stmt->close();
} else {
echo "စုံစမ်းမှုမအောင်မြင်ပါ: " . $mysqli->error;
}
$mysqli->close();
?>
အကယ်. သင်သည် URL ကိုဒေတာဘေ့စ်တွင်သိုလှောင်ရန်သို့မဟုတ် URL ကို client သို့ပြန်ပို့ရန်လိုအပ်ပါကဥပမာ - domain name name ကို သုံးရန်သတိရပါ။
$url = "https://m66.net/user/profile.php?id=123";
ဤချဉ်းကပ်မှုသည်အရင်းအမြစ်လမ်းကြောင်းများကိုစည်းလုံးစေပြီးအနာဂတ်ပြုပြင်ထိန်းသိမ်းမှုနှင့်ဒိုမိန်းအမည်ကိုအစားထိုးရန်အထောက်အကူပြုသည်။
MySQLI :: stmt_init သည်ပြောင်းလွယ်ပြင်လွယ်။ လုံခြုံစိတ်ချရသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ပြင်ဆင် ()) , bind_param () , execute () နှင့်အခြားလုပ်ဆောင်ချက်များနှင့်အတူအသုံးပြုသည်။ နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် Pre-processing ထုတ်ပြန်ချက်များကိုပိုမိုနှစ်သက်စေရန်အကြံပြုပါသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli