Database စစ်ဆင်ရေးကိုဖြေရှင်းခြင်းဒေတာဘေ့စ်လုပ်ငန်းများသည် PHP applications များကိုတီထွင်သောအခါအလွန်အသုံးများသောအလုပ်ဖြစ်သည်။ အထူးသဖြင့် MySQLI extension ကိုအသုံးပြုသောအခါကျွန်ုပ်တို့သည် SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ရန် ပြင်ဆင်ခြင်း () function ကိုအသုံးပြုလေ့ရှိသည်။ သို့သော်တစ်ခါတစ်ရံတွင် ပြင်ဆင်ခြင်း () မအောင်မြင်နိုင်ပါ။ တိကျသောအမှားအချက်အလက်များကိုကျွန်ုပ်တို့မည်သို့ရှုမြင်နိုင်မည်နည်း။ MySQLI :: stmt_init function ကိုကျွန်ုပ်တို့အားဤပြ problem နာကိုဖြေရှင်းရန်နှင့်အသေးစိတ်အမှားအယွင်းများပေးရန်ကူညီနိုင်သည်။
MySQLI :: stmt_init သည် MySQLI_STMT အရာဝတ်ထုကိုစတင်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်ပြင်ဆင်ထားသောကြေငြာချက်တစ်ခုဖန်တီးရန်သင့်အားခွင့်ပြုသည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် SQL Query များကိုမပြုလုပ်မီ SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ရန် ပြင်ဆင်ခြင်း () function ကိုခေါ်ဆိုသည်။ အကယ်. ပြင်ဆင်ထားပါက MySQLI_ERRORE () ကိုတိုက်ရိုက်ခေါ်ဆိုခြင်း () ကိုတိုက်ရိုက်ခေါ်ဆိုခြင်း () ကိုတိုက်ရိုက်ခေါ်ဆိုခြင်းမပြုနိုင်သော SQL အမှားအချက်အလက်များကိုမရရှိနိုင်ပါ။
Stmt_INITITED ကိုဖော်ပြသည့်အရာဝတ်ထုကိုစတင်သည့်အနေဖြင့် ကြိုတင်ပြင်ဆင် ပြီးနောက်ပျက်ကွက်ခြင်းနှင့်အသေးစိတ်အမှားအချက်အလက်များ၏အကြောင်းရင်းကိုကြည့်ရှုနိုင်သည်။
SQL ကြေငြာချက်အမှားများကိုကိုင်တွယ်ရန် MySQLI :: stmt_init ကိုအသုံးပြုသောနမူနာကုဒ်ဖြစ်သည်။
<?php
// ဒေတာဘေ့စ် connection settings
$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test_db';
// ဖန်တီး MySQLi ဆက်
$mysqli = new mysqli($host, $username, $password, $dbname);
// 检查ဆက်是否成功
if ($mysqli->connect_error) {
die("ဆက်失败: " . $mysqli->connect_error);
}
// အသုံးပြု stmt_init ဖြစ်ပေါ်လာခြင်း SQL ကြေညာချက်အရာဝတ်ထု
$stmt = $mysqli->stmt_init();
// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်
$sql = "SELECT * FROM non_existing_table WHERE id = ?";
// သွား stmt_init function ကိုကြည့်ရန် prepare() ပျက်ကွက်အပေါ်အမှားသတင်းစကား
if (!$stmt->prepare($sql)) {
// prepare ပျက်ကွက်သည့်အခါ,output ကိုတိကျတဲ့ SQL အမှားသတင်းစကား
echo "SQL အမှား: " . $stmt->error;
} else {
echo "SQL ပြင်ဆင်ထား成功!";
}
// 关闭ဆက်
$stmt->close();
$mysqli->close();
?>
ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ ။ ပထမ ဦး စွာ MySQLI အသစ်မှတဆင့်ဒေတာဘေ့စ် နှင့်ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ။ ဆက်သွယ်မှုမအောင်မြင်ပါက scription သည်အဆုံးသတ်ပြီးဆက်သွယ်မှုအမှားအယွင်းသည် output ကိုဖြစ်သည်။
MySQLI :: stmt_init မှတဆင့်ကြေငြာ ချက်ကိုအစပိုင်းတွင် ဖော်ပြပါ ။
SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ပါ ။ SQL ကြေငြာချက်ကိုပြင်ဆင်ရန် $ stmt-> ပြင်ဆင်ရန် ($ sql) function ကိုသုံးပါ။ အကယ်. ပြင်ဆင်ခြင်း () မအောင်မြင်ပါက $ stmt-> အမှားသည် မအောင်မြင်သောအမှားသတင်းစကားကိုပြန်ပို့လိမ့်မည်။
Output error message : ပြင်ဆင်ထား ပါကပြင်ဆင်ပါက Code သည် Developer များပြ the နာ၏အကြောင်းရင်းကိုနားလည်စေရန်အတွက်ကုဒ်နံပါတ်များကိုထုတ်ဖော်ပြောဆိုလိမ့်မည်။
ဆက်သွယ်မှုကိုပိတ်ပါ ။ စစ်ဆင်ရေးပြီးဆုံးပြီးနောက်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုပိတ်ပြီးအရင်းအမြစ်များကိုလွှတ်ရန်သတိရပါ။
SQL syntax error : အမှားအယွင်းများအတွက်အသုံးအများဆုံးအကြောင်းရင်းတစ်ခု။ အကယ်. SQL ကြေငြာချက်၏ syntax နှင့်ပြ a နာရှိလျှင် ပြင်ဆင်ပါ () သည် အမှားအယွင်းတစ်ခုသို့ပြန်လည်ပေးပို့လိမ့်မည်။
စားပွဲတင်သို့မဟုတ်လယ်ကွင်းမရှိပါ - မတည်ရှိစားပွဲသို့မဟုတ်လယ်ကွင်းတွင်မတည်ရှိသည့်ဇယားသို့မဟုတ်ကွက်လပ်တွင်မသုံးပါက ပြင်ဆင်ပါ ။
ဒေတာဘေ့စ်ဆက်သွယ်မှုပြ problem နာ - ဒေတာဘေ့စ် connection ကိုယ်နှိုက်နှင့်ပြ a နာရှိသည့်အခါ၎င်းသည် ပြင်ဆင်မှု ကိုအကောင်အထည်ဖော်နိုင်မည်ဖြစ်သည်။
stmt_init function ကိုမှတစ်ဆင့် ပြင်ဆင်ခြင်းအတွက်အကြောင်းပြချက်များ () ပျက်ကွက်ခြင်း,