PHP တွင် MySQL ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်နိုင်သည့် MySQLI extension ကိုအသုံးပြုသောအခါ MySQLI extension ကိုအသုံးပြုသောအခါသာမန်အမှားများကိုသင်ကြုံတွေ့ရနိုင်သည်။ ဤအမှားအယွင်းများအတွက် MySQLI :: အမှားအယွင်းများကို MySQLI :: အမှားအယွင်းများမှတစ်ဆင့်အမှားကုဒ်ကိုရနိုင်သည်။ အထူးသဖြင့်ဒေတာဘေ့စ်ဆက်သွယ်မှုအမှားများနှင့် SQL Syntax အမှားများကိုခွဲခြားရန်အလွန်အရေးကြီးသည်။ ဤအမှားနှစ်ခုကိုခွဲခြားရန် MySQLI :: $ errno ကို မည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်ကြိုးစားသည့်အခါဒေတာဘေ့စ်ဆက်သွယ်မှုအမှားများသည်များသောအားဖြင့်ဖြစ်ပွားလေ့ရှိသည်။ Database ဆာဗာသည်လိပ်စာ, အသုံးပြုသူအမည်, စကားဝှက်သို့မဟုတ်ဒေတာဘေ့စ်အမည်ရှိအမှားတစ်ခုရှိပါကဆက်သွယ်မှုသည်ကျရှုံးလိမ့်မည်။ ဤကိစ္စတွင် MySQLI :: $ errno သည် declat error code ကိုပြန်ပို့လိမ့်မည်, ဤကုဒ်အပေါ် အခြေခံ. ပြ problem နာကိုကျွန်ုပ်တို့ဆုံးဖြတ်နိုင်သည်။
<?php
$host = 'localhost'; // ဒေတာဘေ့စ်ဆာဗာလိပ်စာ
$user = 'root'; // ဒေတာဘေ့စ်အသုံးပြုသူအမည်
$password = ''; // ဒေတာဘေ့စ်စကားဝှက်
$database = 'test'; // ဒေတာဘေ့စ်အမည်
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$conn = new mysqli($host, $user, $password, $database);
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($conn->connect_errno) {
echo "ဆက်သွယ်မှုအမှား: " . $conn->connect_error;
// အရerrnoအမှားအမျိုးအစားကိုဆုံးဖြတ်ပါ
if ($conn->connect_errno == 1049) {
echo "ဒေတာဘေ့စ်မတည်ရှိပါဘူး!";
} elseif ($conn->connect_errno == 1045) {
echo "မမှန်ကန်သောအသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်!";
}
exit();
}
echo "ဒေတာဘေ့စကိုအောင်မြင်စွာဆက်သွယ်ပါ!";
?>
ဤဥပမာတွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုပျက်ကွက်ပါက $ Conn-> Connect_ERRNO သည် အမှားကုဒ်တစ်ခုသို့ပြန်ပို့လိမ့်မည်။ ဥပမာအားဖြင့်, အမှားကုဒ် 1049 သည်ဒေတာဘေ့စ်သည်မတည်ရှိကြောင်းပြသည်။ အမှားကုဒ် 1045 သည်အသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်သည်မှားကြောင်းဖော်ပြသည်။ ဤအမှားကုဒ်များဖြင့်ပြ the နာကိုပိုမိုတိကျစွာရှာဖွေနိုင်သည်။
SQL Query များကိုသင် execute လုပ်သည့်အခါ SQL Syntax အမှားများသည်ရှာဖွေမှုကိုကျရှုံးစေနိုင်သည်။ ဤအချိန်တွင် MySQLI :: $ errno သည် SQL အမှားများနှင့်သက်ဆိုင်သောကုဒ်ကိုပြန်ပို့လိမ့်မည်။ အမှားကုဒ်ကိုအကဲဖြတ်ခြင်းအားဖြင့်၎င်းသည် SQL syntax အမှားသို့မဟုတ်အခြားအမှားအယွင်းများကိုအလျင်အမြန်ခွဲခြားနိုင်သည်။
<?php
$host = 'localhost';
$user = 'root';
$password = '';
$database = 'test';
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$conn = new mysqli($host, $user, $password, $database);
// တစ် syntax အမှား executeSQLမေးမြန်း
$sql = "SELEC * FROM users"; // အမှား的မေးမြန်း:SELEC ဖြစ်သင့်သည် SELECT
$result = $conn->query($sql);
// စစ်ဆေးကြည့်ရှုSQLကွပ်မျက်အောင်မြင်မှုရှိမရှိ
if ($result === false) {
echo "SQLအမှား: " . $conn->error;
// 判断အမှား代码
if ($conn->errno == 1064) {
echo "SQL语法အမှား!";
}
exit();
}
echo "မေးမြန်း成功!";
?>
ဤဥပမာတွင် SQL query တွင် syntax အမှား ( Selec Select လုပ် သင့်သည်) နှင့် $ Conno-> Errno သည် 1064 ပြန်ရောက်သည်။ MySQLI :: $ errno ၏တန်ဖိုးကိုအကဲဖြတ်ခြင်းအားဖြင့် SQL Query တွင်ပြ problems နာများကိုလျင်မြန်စွာရှာဖွေနိုင်သည်။
MySQLI :: $ errno သည် ဒေတာဘေ့စ်ဆက်သွယ်မှုအမှားများကို SQL Syntax အမှားများကိုခွဲခြားရန်ထိရောက်သောနည်းလမ်းကိုပေးသည်။ ပြန်လာသောအမှားကုဒ်ကိုစစ်ဆေးခြင်းအားဖြင့်သင်သည်ပြ the နာကိုမြန်မြန်ဆန်ဆန်ရှာဖွေတွေ့ရှိနိုင်ပြီး debugging အချိန်ကိုလျှော့ချနိုင်သည်။
Database connection error : connection_errno သည်များသောအားဖြင့် connection ကိုအောင်မြင်ပြီး Error Code (ဥပမာ, အသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်အမှားများမှကွဲပြားခြားနားသောဆက်သွယ်မှုအမှားများကိုခွဲခြားရန်အသုံးပြုသည်။
SQL syntax error error : SQL query နှင့်ပြ a နာတစ်ခုပြ a နာရှိသည့်အခါ $ Conno မှအမှားကုဒ်သည်သင် syntax အမှားများကိုအသိအမှတ်ပြုရန်ကူညီနိုင်သည်။
ဤအမှားနှစ်ခုမှားယွင်းသောနည်းလမ်းများသည်သင့်အားပိုမိုကောင်းမွန်သောစီမံခန့်ခွဲမှု,