MySQL နှင့်အတူအပြန်အလှန်ဆက်သွယ်သည့်အခါ MySQLI :: stmt_init သည် persqli :: stmt_init ကို preprocessing statement address ကိုစတင်ရန်အသုံးပြုသောအသုံးများသောထုတ်ပြန်ချက်များကို Proprocessing ထုတ်ပြန်ချက်များကိုအပြန်အလှန်ဆက်သွယ်ရန်အဆင်ပြေသောနည်းလမ်းဖြစ်သည်။ သို့သော် developer များက မူ ဒီဇိုင်း တန်ဖိုးများကိုဒေတာဘေ့စ်များတွင်ကိုင်တွယ်သောအခါစိန်ခေါ်မှုများအချို့ကိုကြုံတွေ့ရနိုင်သည်။
ပထမ ဦး စွာ MySQLI :: stmt_init သည် MySQLI_STMT အရာဝတ်ထုကို အစပြု. MySQLI_STMT ဥပမာကိုပြန်ပို့ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းကိုမကြာခဏအသုံးမ 0 င်သောထုတ်ပြန်ချက်များကိုဖန်တီးရန်နှင့်လုပ်ဆောင်ရန်အသုံးပြုလေ့ရှိသည်။
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
$stmt = $mysqli->stmt_init();
?>
MySQLI_STMT မှ MySQLI_ST_INIT မှဖန်တီးထားသော MYSQLI_INIT မှဖန်တီးထားသော bind_param function ကို အသုံးပြု. input parameters များကို binding bindi ။ binding parameters တွေကို binding parameters တွေကိုလုပ်တဲ့အခါ developer တွေဟာ parameter အမျိုးအစားကိုသတ်မှတ်ဖို့လိုတယ်,
ငါ ကိန်းဂဏန်းကိုကိုယ်စားပြုတယ်
d floating အမှတ်နံပါတ်ကိုကိုယ်စားပြုတယ်
s ဆိုသည်မှာ string ကိုဆိုလိုသည်
B သည် binary data ကိုကိုယ်စားပြုသည်
အချို့ဖြစ်ရပ်များတွင် Parameter Value သည်ဤအချိန်တွင်အထူးကုသရန်လိုအပ်သည့် null ဖြစ်နိုင်သည်။
MySQL တွင် NULL သည်အထူးတန်ဖိုးတစ်ခုဖြစ်သည်။ ထို့ကြောင့် database သို့ NULL ကို ဖြတ်သန်းသောအခါသတိထားရမည်။ ပုံမှန်အားဖြင့်, bind_param ကို အသုံးပြုသောအခါ parameter value သည် null ဖြစ်လျှင်၎င်းသည် SQL Null သို့အလိုအလျောက်ပြောင်းလဲလိမ့်မည်မဟုတ်ပါ။ Bind_param မှတဆင့်အထူးလုပ်ဆောင်ရန်လိုအပ်သည်။
ကျွန်ုပ်တို့သည်စံချိန်တင်တစ်ခုထည့်သွင်းရန်လိုအပ်သည်ဆိုပါစို့။ အချို့လယ်ကွင်းများတွင် null တန်ဖိုးများရှိသည်။ Binding Parametersters သည်နယ်ပယ်တစ်ခု၏တန်ဖိုးသည် တရား 0 င် ဖြစ်ခဲ့လျှင်, bind_param ကို အသုံးပြုသော အခါ Null ကို အသုံးပြု. NULL ကိုအသုံးပြု သည် ။
<?php
// ဆက်သွယ်မှုကိုစတင်ပါ
$mysqli = new mysqli("localhost", "user", "password", "database");
// ကြိုတင်ကြေငြာချက်တစ်ခုဖန်တီးပါ
$stmt = $mysqli->stmt_init();
// ပြင်ဆင်ထားSQLမေးမြန်း
$sql = "INSERT INTO users (name, age, email) VALUES (?, ?, ?)";
if ($stmt->prepare($sql)) {
$name = "John Doe";
$age = null; // NULL အဘိုး
$email = "john.doe@m66.net";
// အတွက် NULL အဘိုး使用特殊绑定
$stmt->bind_param("sis", $name, $age, $email);
// 执行မေးမြန်း
$stmt->execute();
}
?>
NULL values များကို bind_param တွင်မှန်ကန်စွာ ဖြတ်သန်းရန် PHP သည် Null parameters များကိုထောက်ခံအားပေးမှုပေးရန် Null parameters များကိုထောက်ပံ့ပေးသည် ။ Null တန်ဖိုးများအတွက်ကျွန်ုပ်တို့သည်၎င်းတို့ကို function သို့ဖြတ်သန်းသွားကြောင်းနှင့်အမျိုးအစားလိုအပ်ချက်များကိုသတ်မှတ်ရန်လိုအပ်သည်။
<?php
// နမူနာ:ကိုင်တွယ်ဖြေရှင်းသည် NULL အဘိုး的代码
$null_value = null;
$stmt->bind_param("s", $null_value);
$stmt->execute();
?>
Null ဖြတ်သန်းသောအခါ variable အမျိုးအစား : Null ဖြတ်သန်းသည့်အခါ NULL သည်သက်ဆိုင်ရာ SQL အမျိုးအစားနှင့်ကိုက်ညီကြောင်းသေချာပါစေ။ ဥပမာအားဖြင့်လယ်ကွင်းသည်ကိန်းဂဏန်းအမျိုးအစားဖြစ်လျှင် Bind_param အမျိုးအစားသည် ကျွန်ုပ် ဖြစ်သင့်သည်။
Different () ကိုဆုံးဖြတ်ရန် () ကိုအသုံးပြုပါ ။ အကယ်. variable တစ်ခုသည် Null ဟုတ်မဟုတ်ဆုံးဖြတ်ရန်သင် is is is dialog () ကို သုံးနိုင်သည်။
<?php
$age = null;
if (isset($age)) {
$stmt->bind_param("i", $age);
} else {
$stmt->bind_param("i", $null_value);
}
?>
MySQLI :: stmt_init နှင့် bind_param ကို အသုံးပြုသောအခါ null တန်ဖိုးများကိုကိုင်တွယ်ရန်အထူးဂရုပြုရန်အထူးဂရုပြုရန်လိုအပ်သည်။ Null Values ကိုမှန်ကန်စွာကောက်ယူရန်နှင့်သင့်လျော်သော SQL အမျိုးအစားနှင့်ကိုက်ညီရန်အရေးကြီးသည်။ အကယ်. ကုသမှုမခံပါက၎င်းသည်ပျက်ကွက်မှုသို့မဟုတ်မလိုလားအပ်သောအပြုအမူများကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤဆောင်းပါး၏နိဒါန်းမှတစ်ဆင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် NULL တန်ဖိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်လိမ့်မည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။