MySQL databases များကို MySQL databases များကိုလုပ်ကိုင်ရန် PHP ကိုအသုံးပြုသောအခါ MySQLI extension သည် SQL Injection Attacks ၏လုံခြုံရေးနှင့်ထိရောက်မှုကိုထိရောက်စွာကာကွယ်နိုင်ရန်နှင့်ထိရောက်စွာကာကွယ်နိုင်သည်။ ဤဆောင်းပါးသည် MySQLI :: stmt_init method ကို အသုံးပြု. ကြေငြာချက်တစ်ခုကိုမည်သို့စတင်မည်ကိုအာရုံစိုက်မည်ကိုအာရုံစူးစိုက်ပါလိမ့်မည်။
MySQLI :: stmt_init () သည် MySQLI အတန်းအစား၏နည်းလမ်းဖြစ်သည်, အချည်းနှီးသောဖော်ပြချက်အရာဝတ်ထု ( mySQLI_STMT ) ဤအရာဝတ်ထုသည် ပြင်ဆင်ခြင်း ()) method ()) method ()) ဟုခေါ်ဆိုခြင်းနှင့် bind_param () နှင့်စစ်ဆင်ရေးအတွက်အခြားနည်းလမ်းများဟုခေါ်ဆိုခြင်းဖြင့် SQL query ထုတ်ပြန်ချက်များနှင့်ခညျြနှောငျနိုင်သည်။
အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
$stmt = $mysqli->stmt_init();
$ MySQLI သည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ထားသည့် MySQLI အရာဝတ်ထုတစ်ခုဖြစ်သည်။
STMT_INITITIOND ဖော်ပြချက်နှင့် SQL Query များကို အသုံးပြု. PHPP SPENTATE ပြီးပြည့်စုံသော PHP SPENTY ဖြစ်သည်။
<?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$mysqli = new mysqli("localhost", "username", "password", "database");
// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ကြေညာချက်အရာဝတ်ထုကိုအစပျိုး
$stmt = $mysqli->stmt_init();
// ကြိုတင် SQL အသေအချာပေြာဆိုချက်
if ($stmt->prepare("SELECT name, email FROM users WHERE id = ?")) {
// parameters တွေကိုချည်ထား
$id = 1;
$stmt->bind_param("i", $id);
// 执行အသေအချာပေြာဆိုချက်
$stmt->execute();
// binding ရလဒ် variable တွေကို
$stmt->bind_result($name, $email);
// စုံစမ်းမှုရလဒ်များကိုရယူပါ
while ($stmt->fetch()) {
echo "အသုံးပြုသူ: $name, စာပို့: $email<br>";
}
// 关闭အသေအချာပေြာဆိုချက်
$stmt->close();
} else {
echo "SQL ကြိုတင်失败: " . $stmt->error;
}
// ဆက်သွယ်မှုကိုပိတ်ပါ
$mysqli->close();
?>
stmt_init ကိုခေါ်ပြီးနောက် () , သင်သည် SQL ကြေငြာချက်ကိုအမှန်တကယ်ချည်နှောင်ရန် ပြင်ဆင်ရန်ပြင်ဆင်ခြင်း () နည်းလမ်းကိုအသုံးပြုရမည်။
bind_param ရှိ parameters များ ( ဥပမာ, "i" သည် "i" သည်ကိန်းတစ်ခုအားကိုယ်စားပြုပြီး "s" သည်မှန်ကန်စွာသတ်မှတ်ထားရမည်။
Resource abder ကိုထုတ်ဖော်ပြောဆိုရန်ကြေညာချက်ကိုအသုံးပြုပြီးနောက် $ stmt-> အနီးကပ် () ကို Call ဟုခေါ်ဆိုပါ။
$ MySQLI-> ပြင်ဆင်ရန် () ပြင်ဆင်ခြင်းအတွက်သင်တိုက်ရိုက်သုံးနိုင်သည်မှာ stmt_init () သည် အသေးစိတ်အချက်အလက်များကိုစစ်ဆေးရန်လိုအပ်သည့်အခါပိုမိုအသုံးဝင်သည်။