လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI :: $ errno သုံး. အသေးစိတ်ဒေတာဘေ့စ် Query Prompty ကိုဖန်တီးနည်း။

MySQLI :: $ errno သုံး. အသေးစိတ်ဒေတာဘေ့စ် Query Prompty ကိုဖန်တီးနည်း။

M66 2025-06-23

MySQLI extension ကိုအသုံးပြုခြင်းသည် PHP တွင်ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်ရန်အသုံးအများဆုံးနည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ သို့သော်ဒေတာဘေ့စ်သည်အမှားအယွင်းများကိုရှာဖွေခြင်းအမှားများကိုရှာဖွေသောအခါ developer များရှာဖွေတွေ့ရှိရန်နှင့်ပြ problems နာများကိုဖြေရှင်းရန်ကူညီရန်ရှင်းရှင်းလင်းလင်းနှင့်အသေးစိတ်အမှားအချက်များလိုအပ်လေ့ရှိသည်။ MySQLI :: $ errno သည် ဒေတာဘေ့စ်လုပ်ငန်းများတွင်ဖြစ်ပေါ်သောအမှားကုဒ်များကိုရရှိရန်အသုံးပြုနိုင်သည်။ MySQLI :: $ အမှား နှင့်ပေါင်းစပ်ပြီးကျွန်ုပ်တို့သည်အသေးစိတ်အမှားအချက်ပြစနစ်ကိုအကောင်အထည်ဖော်နိုင်သည်။

ဤဆောင်းပါးသည် MySQLI :: err ည့်သည်များကို အသုံးပြု. Developer များကအမှားအယွင်းများဖြစ်ပေါ်နေသောအခါ roy ည့်သည်များပေါ်ပေါက်လာနိုင်ရန်အတွက်အသေးစိတ်ဒေတာဘေ့စ် Query Prompty စနစ်ကိုတည်ဆောက်ရန်အတွက် Database Query Prompty စနစ်ကိုတည်ဆောက်ရန်ဖြစ်သည်။

1 ။ အဘိတ်: ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ

အမှန်တကယ်အမှားကိုင်တွယ်မှုစနစ်တစ်ခုတွင်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုတစ်ခုတည်ဆောက်ရန်လိုအပ်သည်။ PHP တွင်ဤအရာကိုပြုလုပ်ရန် MySQLI အတန်းကိုသုံးနိုင်သည်။

 <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);

// ဆက်သွယ်မှုကို detect
if ($conn->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}
?>

2 ။ ဒေတာဘေ့စ်စုံစမ်းမှုကို Execute လုပ်ပြီးအမှားအယွင်းများကိုကိုင်တွယ်ပါ

ဒေတာဘေ့စ်စုံစမ်းမှုကွပ်မျက်မှုပျက်ကွက်သည့်အခါ MySQLI :: $ errno သည် မှားယွင်းသောနံပါတ်ကိုပြန်ပေးလိမ့်မည် အသေးစိတ်အမှားအချက်များထုတ်လုပ်ရန်ဤအချက်အလက်များကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

 <?php
$sql = "SELECT * FROM non_existing_table"; // မမှန်ကန်သောစုံစမ်းမှု

$result = $conn->query($sql);

if (!$result) {
    $errorCode = $conn->errno; // အမှားကုဒ်ကိုရယူပါ
    $errorMessage = $conn->error; // အမှားမက်ဆေ့ခ်ျကိုရယူပါ
    echo "အမှားအမှား,အမှားကုဒ်:$errorCode,အမှားသတင်းစကား:$errorMessage";
}
?>

အထက်ပါကုဒ်များတွင်ကျွန်ုပ်တို့သည်အမှားကိုအစပျိုးရန်ရည်ရွယ်ချက်ဖြင့်မှားယွင်းသော SQL မေးမြန်းမှုကိုတမင်တကာရေးသားခဲ့သည်။ query ပျက်ကွက်သည့်အခါအမှားကုဒ်ကို $ conn-errno နှင့် errno နှင့်အမှားအယွင်းများမှရရှိသောအမှားအယွင်းများကို developer များပြ the နာကိုရှင်းရှင်းလင်းလင်းနားလည်စေရန်ကူညီရန်အမှားအယွင်းများကိုရရှိသည်။

3 ။ အသေးစိတ်အမှားအယွင်းများကိုအကောင်အထည်ဖော်ပါ

အမှားအယွင်းများကိုပိုမိုလုပ်ဆောင်နိုင်ရန်အတွက်အမှားမက်ဆေ့ခ်ျကို HTML စာမျက်နှာတစ်ခုသို့ format လုပ်ထားနိုင်ပြီးအမှားအယွင်းများ, Query Computer, အမှားအယွင်းများ,

 <?php
function handleDatabaseError($conn) {
    $errorCode = $conn->errno;
    $errorMessage = $conn->error;
    $query = $conn->last_query; // လတ်တလောကွပ်မျက်ခံရစုံစမ်းမှုကိုရယူပါ
    $timestamp = date("Y-m-d H:i:s");

    echo "<h2>数据库အမှားအမှား</h2>";
    echo "<p><strong>အမှားအချိန်:</strong>$timestamp</p>";
    echo "<p><strong>အမှားကုဒ်:</strong>$errorCode</p>";
    echo "<p><strong>အမှားသတင်းစကား:</strong>$errorMessage</p>";
    echo "<p><strong>Execution Query:</strong><pre>$query</pre></p>";
    echo "<p>ကျေးဇူးပြု။ ကျသင့်ငွေတွက်ပေးပါ SQL အမှားများကိုဖြေရှင်းရန်ကြိုးစားပါ。</p>";
}

$sql = "SELECT * FROM non_existing_table"; // အမှားရှာဖွေခြင်း

$result = $conn->query($sql);

if (!$result) {
    handleDatabaseError($conn); // အမှားကိုင်တွယ် function ကိုခေါ်ဆိုခြင်း
}
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အသေးစိတ်အမှားအချက်အလက်များကိုဖော်ပြသည့် လက်ကိုင်ဘေ်ဘရာ နေရာချထားမှုကိုဖန်တီးသည်။ Developer များကပြ problem နာ၏အကြောင်းရင်းကိုရှာဖွေရန်အလျင်အမြန်ရှာဖွေရန် SQL Query များကိုလည်းပြသသည်။

4 ။ မှတ်တမ်းတင်ရန်အမှားအယွင်းများကိုမှတ်တမ်းတင်ပါ

စာမျက်နှာပေါ်ရှိအမှားအယွင်းများကိုပြသသည့်အပြင်ဖိုင်များမှတ်တမ်းများကိုမှတ်တမ်းတင်ရန်အမှားအယွင်းများကိုမှတ်တမ်းတင်ရန်အလေ့အကျင့်လည်းဖြစ်သည်။ ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အထိခိုက်မခံသောဒေတာဘေ့စ်အမှားအယွင်းများကိုတိုက်ရိုက်ထိတွေ့ခြင်းကိုရှောင်ရှားသည်။

 <?php
function logDatabaseError($conn) {
    $errorCode = $conn->errno;
    $errorMessage = $conn->error;
    $query = $conn->last_query;
    $timestamp = date("Y-m-d H:i:s");

    $logMessage = "[$timestamp] အမှားကုဒ်: $errorCode, အမှားသတင်းစကား: $errorMessage, မေးမြန်း: $query\n";
    file_put_contents("database_errors.log", $logMessage, FILE_APPEND);
}

$sql = "SELECT * FROM non_existing_table"; // အမှားရှာဖွေခြင်း

$result = $conn->query($sql);

if (!$result) {
    logDatabaseError($conn); // မှတ်တမ်းတင်ရန်အမှားအယွင်းများကိုမှတ်တမ်းတင်ပါ
    handleDatabaseError($conn); // လုပ်ငန်းစဉ်နှင့်ပြသရန်
}
?>

အထက်ပါကုဒ်သည် log file database_errors.log ကို log file ကိုသတင်းအချက်အလက်များကိုမည်သို့ရေးရမည်ကိုပြသသည်။ ဤနည်းအားဖြင့် developer များက database မေးမြန်းချက်အားလုံးကိုအသုံးပြုသူမှတိုက်ရိုက်ဖော်ထုတ်ရန်မလိုဘဲဆာဗာ၏မှတ်တမ်းဖိုင်တွင်ကြည့်ရှုနိုင်သည်။

5 ။ အကျဉ်းချုပ်

MySQLI :: errno နှင့် mySqli :: အမှားအယွင်းများကို ပေါင်းစပ်ခြင်းအားဖြင့် developer များပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်အတွက်အသေးစိတ်ဒေတာဘေ့စ် Query Promp စနစ်ကိုတည်ဆောက်နိုင်သည်။ ကျွန်ုပ်တို့သည်စနစ်၏ကြံ့ခိုင်မှုကိုသစ်ခုတ်ခြင်းအားဖြင့်ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင်အထိခိုက်မခံသောဒေတာဘေ့စ်အမှားအယွင်းများကိုမဖော်ထုတ်နိုင်ကြောင်းထပ်မံမြှင့်တင်နိုင်သည်။

ဤအမှားကိုင်တွယ်နည်းလမ်းသည်အထူးသဖြင့်ရှုပ်ထွေးသောဒေတာဘေ့စ်လုပ်ငန်းများနှင့်ရင်ဆိုင်ရသောအခါဖွံ့ဖြိုးတိုးတက်မှုနှင့် debugging ထိရောက်မှုကိုသိသိသာသာတိုးတက်စေနိုင်သည်။ သင်၏ system ၏လုံခြုံရေးနှင့်ထိန်းသိမ်းခြင်းကိုထပ်မံမြှင့်တင်လိုပါကဤအခြေခံနှင့် ပတ်သက်. ပိုမိုကောင်းမွန်သောမှတ်တမ်းခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်အမှားစောင့်ကြည့်လေ့လာမှုများကိုသင်ထပ်ထည့်နိုင်သည်။