လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_STMMT :: MySQLI_STMT :: MySQLI_STMMT :: Store_Result ()

MySQLI_STMMT :: MySQLI_STMT :: MySQLI_STMMT :: Store_Result ()

gitbox 2025-05-26

PHP ကို ​​အသုံးပြု. MySQL databases နှင့်အပြန်အလှန်ဆက်သွယ်သောအခါ SQL Query များကိုမကြာခဏပြုလုပ်ရန်လိုအပ်သည်။ အကယ်. မေးမြန်းမှုမအောင်မြင်ပါကအမှားအယွင်းကိုင်တွယ်သည့်ယန္တရားသည်ပြ problem နာကိုရှာဖွေတွေ့ရှိရန်နှင့်၎င်းကိုကိုင်တွယ်ဖြေရှင်းရန်ကူညီနိုင်သည်။ MySQLI extension သည် MySQLI_STMT :: Mysqli_stmt :: store_result () နည်းလမ်းများအပါအ 0 င် SQL query :: store_result () နည်းလမ်းများအပါအ 0 င် developer များကိုဖမ်းရန်နှင့်ကိုင်တွယ်ရန်ကိရိယာများကိုကူညီရန်ကိရိယာများကိုထောက်ပံ့ပေးသည်။

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

1 ။ MySQLI_STMMT :: $ အမှားအယွင်းများကို သုံး. query urovey အမှားများကိုစစ်ဆေးပါ

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

1.1 နမူနာကုဒ်: အခြေခံစုံစမ်းမှုကွပ်မျက်

 <?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$mysqli = new mysqli("localhost", "username", "password", "database");

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

// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $mysqli->prepare($query);

// စစ်ဆေးကြည့်ရှု SQL အသေအချာပေြာဆိုချက်是否ပြင်ဆင်ထား成功
if ($stmt === false) {
    die("ပြင်ဆင်ထားအသေအချာပေြာဆိုချက်失败: " . $mysqli->error);
}

// parameters တွေကိုချည်ထား
$id = 1;
$stmt->bind_param("i", $id);

// တစ် ဦး စုံစမ်းမှု execute
if (!$stmt->execute()) {
    // အသုံးပြု mysqli_stmt::$error အမှားမက်ဆေ့ခ်ျကိုရယူပါ
    die("တစ် ဦး စုံစမ်းမှု execute失败: " . $stmt->error);
}

// ဆက်သွယ်မှုကိုပိတ်ပါ
$stmt->close();
$mysqli->close();
?>

ဤဥပမာတွင် SQL query သည် $ stmt-> အမှား မှတဆင့်ပျက်ကွက်သည့်အခါအသေးစိတ်အချက်အလက်များကိုကျွန်ုပ်တို့ရရှိပါသည်။ ဤနည်းအားဖြင့် developer များကရှာဖွေမှုပျက်ကွက်မှုအတွက်သတ်သတ်မှတ်မှတ်အကြောင်းပြချက်များနှင့် ထပ်မံ. debugging သို့မဟုတ်ပြုပြင်ခြင်းပြုလုပ်ရန်အကြောင်းပြချက်များကိုနားလည်နိုင်သည်။

2 ။ MySQLI_STMT :: Store_result () ကို သုံးပါ

MySQLI_STMT :: Store_Result () နည်းလမ်းကို MySQLI ကြေငြာချက်မှရရှိသောရလဒ်ကိုထုတ်ယူ။ သိုလှောင်ရန်အသုံးပြုသည်။ ရလဒ်ကိုရွေးချယ်ထားသောမေးမြန်းချက်များကိုကိုင်တွယ်ရန်အလွန်အသုံးဝင်သည်။ အကယ်. စုံစမ်းမှုသည်မည်သည့်အတန်းကိုမဆိုမပြန်ပါက (ဤသို့သောစုံစမ်းမှုအခြေအနေနှင့်မကိုက်ညီပါက) သည် မကိုက်ညီပါက,

2.1 နမူနာကုဒ် - စစ်ဆေးမှုရလဒ်များကိုစစ်ဆေးပါ

 <?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$mysqli = new mysqli("localhost", "username", "password", "database");

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

// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်
$query = "SELECT * FROM users WHERE id = ?";
$stmt = $mysqli->prepare($query);

// စစ်ဆေးကြည့်ရှု SQL အသေအချာပေြာဆိုချက်是否ပြင်ဆင်ထား成功
if ($stmt === false) {
    die("ပြင်ဆင်ထားအသေအချာပေြာဆိုချက်失败: " . $mysqli->error);
}

// parameters တွေကိုချည်ထား
$id = 1;
$stmt->bind_param("i", $id);

// တစ် ဦး စုံစမ်းမှု execute
if (!$stmt->execute()) {
    die("တစ် ဦး စုံစမ်းမှု execute失败: " . $stmt->error);
}

// Store ရလဒ်အစုံ
$stmt->store_result();

// စစ်ဆေးကြည့်ရှု结果集的行数
if ($stmt->num_rows === 0) {
    echo "စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအသုံးပြုသူမရှိပါ。";
} else {
    // ရလဒ် set ကိုအချည်းနှီးမဟုတ်ပါဘူး,ဒေတာအပြောင်းအလဲနဲ့လုပ်ဆောင်ပါ
    echo "အောင်မြင်သောစုံစမ်းမှု,ရလဒ်များကိုအောက်ပါအတိုင်းဖြစ်ကြသည်:";
    // အပြောင်းအလဲများရလဒ်များ
}

$stmt->close();
$mysqli->close();
?>

ဒီဥပမာမှာ Query ရဲ့ရလဒ်ကိုမှတ်ဉာဏ်ထဲသိုလှောင်ထားတဲ့အတွက် စတိုးဆိုင် _result () နည်းလမ်းကိုသုံးပြီးပြန်လာတဲ့ရလဒ်အတန်းကိုစစ်ဆေးဖို့ $ stmt-> numrows ကို သုံးပါ။ အကယ်. ဒေတာအတန်းများမပြန်ပါကဤ "ရလဒ်မရှိ" အခြေအနေကိုကျွန်ုပ်တို့ကိုင်တွယ်နိုင်သည်။

3 ။ အမှားကိုင်တွယ်ခြင်းနှင့် debugging

MySQLI_STMT :: MySQLI_STMMT :: MySQLI_STMT :: Store_result () သည်အမှားပြုပြင်ခြင်းအတွက်အမှားပြုပြင်ခြင်းအတွက်အမှားအယွင်းများကိုရယူခြင်းနှင့်ရလဒ်များအရအဆင့်အတန်းကိုစစ်ဆေးခြင်းအပြင်သစ်ခုတ်ခြင်းနှင့် debugging အချို့ကိုလည်းစစ်ဆေးနိုင်သည်။ ဤတွင်အချို့သောအသုံးအများဆုံးအမှားအယွင်းများကိုဤနေရာတွင်ဖော်ပြထားသည်။

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

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

  • SQL query optimization : Query များမအောင်မြင်မီ SQL ထုတ်ပြန်ချက်များသည်တရားဝင်ဖြစ်ကြောင်းနှင့်ဘုံ SQL Intermention အားနည်းချက်များကိုရှောင်ရှားရန်သေချာစေပါ။

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

MySQLI_STMT :: MySQLI_STMTMT :: Store_Result () , SQL query qualure များကိုပိုမိုကောင်းမွန်စွာကိုင်တွယ်ဖြေရှင်းနိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကောင်းမွန်သောအမှားကိုင်တွယ်သည့်ယန္တရားသည် code ၏ကြံ့ခိုင်မှုကိုတိုးတက်စေရုံသာမကထုတ်လုပ်မှုပတ် 0 န်းကျင်ရှိပြ problems နာများကိုလျင်မြန်စွာရှာဖွေရန်နှင့်ဖြေရှင်းနိုင်ရန်လည်းကူညီသည်။

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