လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အမှားတစ်ခုဖြစ်ပေါ်သည့်အခါ SQL ထုတ်ပြန်ချက်များနှင့်ရလဒ်အရာဝတ်ထုအကြောင်းအရာများကိုမည်သို့ပုံနှိပ်ထုတ်ဝေနည်း

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

M66 2025-05-28

MySQL ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်ရန် MySQLI extension ကိုအသုံးပြုသော PHP တွင် MySQL ဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်သောအခါ MySQLI_RESURT function ကိုအသုံးပြုလေ့ရှိသည်။ SQL Query များကိုကွပ်မျက်ခံရသည့်အခါအမှားများကိုအကောင်အထည်ဖော်သောအခါ SQL ထုတ်ပြန်ချက်များနှင့်ရလဒ်အရာဝတ္ထုများဖြစ်ပေါ်လာသောအခါအမှားများဖြစ်ပေါ်သည့်အခါကျွန်ုပ်တို့သည်အမှားအယွင်းများဖြစ်ပေါ်သည့်အခါကျွန်ုပ်တို့သည်အမှားအယွင်းများဖြစ်ပေါ်သည့်အခါအမှားအယွင်းများမဆိုအမှားအယွင်းများကိုဖမ်းမိနိုင်ရန်အတွက်အမှားများကိုဖမ်းမိနိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်များသောအားဖြင့်အပိုဆောင်း debugging output ကိုလုပ်ဆောင်လေ့ရှိသည်။

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

အဆင့် 1: ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုဖန်တီးပါ

ပထမ ဦး စွာ MySQL ဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုတစ်ခုဖန်တီးရန်လိုအပ်သည်။ ဒေတာဘေ့စ်ဆာဗာနှင့်ချိတ်ဆက်ရန် MySQLI_Connect ကို ဤနေရာတွင်အသုံးပြုသည်။

 <?php
$host = "localhost";  // ဒေတာဘေ့စ်အိမ်ရှင်လိပ်စာ
$username = "root";   // ဒေတာဘေ့စ်အသုံးပြုသူအမည်
$password = "";       // ဒေတာဘေ့စ်စကားဝှက်
$dbname = "my_database";  // ဒေတာဘေ့စ်အမည်

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

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

အဆင့် 2 - စုံစမ်းမှုကို Excape နှင့်ရလဒ်များကိုလုပ်ဆောင်ပါ

SQL Query များကိုကွပ်မျက်သည့်အခါ MySQLI_QUERER လုပ်ဆောင်ချက်၏ပြန်လာတန်ဖိုးကိုကျွန်ုပ်တို့ဖမ်းယူနိုင်သည်။ အကယ်. စုံစမ်းမှုအမှားတစ်ခုဖြစ်ပါကကျွန်ုပ်တို့သည် SQL ကြေငြာချက်နှင့်ပြန်လာသောရလဒ်အရာဝတ်ထုအကြောင်းအရာများကိုပုံနှိပ်ထုတ်ဝေမည်။

 <?php
// နမူနာ SQL မေးမြန်း
$sql = "SELECT * FROM users"; // မေးမြန်း users စားပွဲပေါ်မှာအားလုံးမှတ်တမ်းများ

// 执行မေးမြန်း
$result = $conn->query($sql);

// 检查မေးမြန်း是否成功
if (!$result) {
    // 如果မေးမြန်း失败,အမှားမက်ဆေ့ခ်ျကိုပုံနှိပ်ပါ
    echo "မေးမြန်း失败: " . $conn->error . "<br>";
    
    // ကွပ်မျက်ခံရထွက်ပုံနှိပ်ထုတ် SQL အသေအချာပေြာဆိုချက်
    echo "SQL အသေအချာပေြာဆိုချက်: " . $sql . "<br>";
    
    // ပုံနှိပ် mysqli_result အရာဝတ်ထုအကြောင်းအရာ(သို့ဆိုလျှင်)
    echo "结果အရာဝတ်ထုအကြောင်းအရာ: ";
    var_dump($result);
} else {
    // 如果မေးမြန်း成功,အပြောင်းအလဲများရလဒ်များ
    while ($row = $result->fetch_assoc()) {
        echo "အသုံးပြုသူID: " . $row["id"] . " - အသုံးပြုသူ名: " . $row["username"] . "<br>";
    }
}
?>

ရှင်းလင်းဖေါ်ပြ

  1. $ Conn-> Query ($ SQL) - ဤကုဒ်နံပါတ်သည် SQL Query များကို execute လုပ်ရန်အသုံးပြုသည်။ အကယ်. မေးမြန်းမှုမအောင်မြင်ပါက $ ရလဒ်သည် မှားယွင်း လိမ့်မည်။

  2. $ Conn-> Error : ဤအိမ်ခြံမြေအကျိုးစီးပွားကိုမကြာသေးမီကကွပ်မျက်ခံရသော SQL query rocess error message ကိုပြန်ပို့သည်။ ကျွန်ုပ်တို့သည်ရှာဖွေမှုပျက်ကွက်မှု၏အကြောင်းရင်းကိုရှာဖွေရန်၎င်းကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။

  3. Var_Dump ($ ရလဒ်) - အကယ်. မေးမြန်းမှုမအောင်မြင်ပါက $ ရလဒ် သည် မှားယွင်း လိမ့်မည်။ Debugging အတွက်ကျွန်ုပ်တို့သည် Var_Dump ကို အသုံးပြု. အမှားတစ်ခုဖြစ်ပေါ်သည့်အခါတိကျသောသတင်းအချက်အလက်များကိုကြည့်ရှုရန်ကူညီရန် MySQLI_RESULT OFF output ကို output လုပ်ရန်။

အဆင့် 3: ဒေတာဘေ့စ် connection ကိုပိတ်ပါ

စစ်ဆင်ရေးပြီးစီးပြီးနောက်ဒေတာဘေ့စ် connection ကိုပိတ်သင့်သည်။

 <?php
$conn->close();
?>

အကျဉ်းချုပ်

အထက်ပါကုဒ်နမူနာမှတစ်ဆင့် SQL query ပျက်ကွက်သည့်အခါအစီအစဉ်သည်မအောင်မြင်သော SQL ထုတ်ပြန်ချက်များနှင့်အမှားများကိုပုံနှိပ်ထုတ်လွှင့်သူများအားပုံနှိပ်ထုတ်ဝေရန်နှင့်ပြ problems နာများကိုရှာဖွေရန်ကူညီလိမ့်မည်။ အထူးသဖြင့်ဖွံ့ဖြိုးတိုးတက်မှုနှင့်စစ်ဆေးခြင်းအဆင့်များအတွင်းဤအချက်အလက်များကိုဖမ်းယူခြင်းနှင့်ထုတ်ယူခြင်းသည်အလွန်အသုံး 0 င်သည်။

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

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