လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_STMMT :: $ insert_id ကို အသုံးပြု. ထည့်သွင်းထားသောအချက်အလက်များကိုအလိုအလျောက်တိုးတက်မှုအချက်အလက်များရယူနည်း။

MySQLI_STMMT :: $ insert_id ကို အသုံးပြု. ထည့်သွင်းထားသောအချက်အလက်များကိုအလိုအလျောက်တိုးတက်မှုအချက်အလက်များရယူနည်း။

gitbox 2025-06-03

PHP ၏ MySQLI Operations အတွက် PHP ၏ MySQLI extension ကိုအသုံးပြုသည့်အခါအလိုအလျောက်တိုးတက်မှုနှုန်း ID ကိုရယူခြင်းသည်ဘုံလိုအပ်ချက်တစ်ခုဖြစ်သည်။ အထူးသဖြင့်ကြိုတင်ပြင်ဆင်ထားသည့်ကြေညာချက် ( MySQLI_STMT ) ကို အသုံးပြု. ထည့်သွင်းခြင်းစစ်ဆင်ရေးကိုလုပ်ဆောင်ပြီးနောက်အထူးသဖြင့်သွင်းမှတ်တမ်း၏အလိုအလျောက်တိုးပွားလာသောအဓိကတန်ဖိုးကိုမှန်ကန်စွာရယူရန်အထူးအရေးကြီးသည်။ ဤဆောင်းပါးသည် MySQLI_STMMT :: $ insert_id attribute မှတစ်ဆင့်ဤတန်ဖိုးကိုတိကျစွာမည်သို့ရယူရမည်ကိုအသေးစိတ်ဖော်ပြလိမ့်မည်။

1 ။ ID ၏အလိုအလျောက်တိုးတက်မှု၏အခြေခံနိယာမ

MySQL ဒေတာဘေ့စ်တွင်အချို့သောစားပွဲများ (များသောအားဖြင့်အဓိကသော့ချက်များ) ကိုအလိုအလျောက်ကြီးထွားရန်အလိုအလျောက်ကြီးထွားစေရန်ပြုလုပ်နိုင်သည်။ ပရိုဂရမ် terminal သည်နောက်ဆက်တွဲစစ်ဆင်ရေးများ (ထိုကဲ့သို့သောမွမ်းမံမှုများ, အသင်းအဖွဲ့များစသဖြင့်) လုပ်ဆောင်မှုများကိုလွယ်ကူချောမွေ့စေရန်ဤ ID ကိုသိရန်လိုအပ်သည်။

2 ။ MySQLI_SSTMT PROPOCTSING ကြေငြာချက်ကို အသုံးပြု. ဒေတာထည့်ပါ

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

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

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

$stmt = $mysqli->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
$username = "alice";
$email = "[email protected]";

$stmt->bind_param("ss", $username, $email);

if ($stmt->execute()) {
    echo "အောင်မြင်စွာထည့်ပါ!";
} else {
    echo "မအောင်မြင်ပါ: " . $stmt->error;
}
?>

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

3 ။ အသစ်ထည့်သွင်းအလိုအလျောက်တိုးတက်မှုအိုင်ဒီကိုရယူပါ

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

 <?php
$insert_id = $stmt->insert_id;
echo "ရုံဖြည့်စွက်IDဟုတ်ကဲ့: " . $insert_id;
?>

သတိပြုရန်မှာဤပိုင်ဆိုင်မှုသည် Insert စစ်ဆင်ရေးကိုပြုလုပ်ပါကနှင့်စားပွဲသည်အလိုအလျောက်ကြီးထွားမှုနယ်ပယ်တွင်အဓိပ္ပာယ်ရှိသည်ကိုသတိပြုပါ။

4 ။ ပြီးပြည့်စုံသောဥပမာ - Self-increment ID ကိုထည့်ပါ

MySQLI_STMT :: $ insert_id နှင့်အတူအသစ်ဖြည့်စွက် ID ကိုဘယ်လိုရနိုင်မလဲဖေါ်ပြတဲ့ဥပမာပြည့်စုံတဲ့ဥပမာတစ်ခုပါ။

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

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

$stmt = $mysqli->prepare("INSERT INTO users (username, email) VALUES (?, ?)");
if (!$stmt) {
    die("Preprocessing မအောင်မြင်ပါ: " . $mysqli->error);
}

$username = "bob";
$email = "[email protected]";

$stmt->bind_param("ss", $username, $email);

if ($stmt->execute()) {
    $insert_id = $stmt->insert_id;
    echo "အောင်မြင်စွာထည့်ပါ!စံချိန်အသစ်IDဟုတ်ကဲ့: " . $insert_id;
} else {
    echo "မအောင်မြင်ပါ: " . $stmt->error;
}

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

5 ။ မှတ်စုဖို့အရာ

  • Auto_increment ကိုသတ်မှတ်သည့်စားပွဲ၌ကွက်လပ်ရှိသည့်ကွက်လပ်တစ်ခုရှိကြောင်းသေချာစေပါ

  • Execute လုပ်ထားသည့်တိုင်းကို Execute လုပ်ထားသည့် အတွက် $ Insert_id ကို လက်ရှိထည့်သွင်းထားသော ID သို့ update လုပ်သည်။

  • အကယ်. မှတ်တမ်းများကိုအသုတ်တွင်ထည့်သွင်းပါကပထမမှတ်တမ်း၏ Self-increment ID ကိုသာရယူနိုင်ပြီးနောက်ဆက်တွဲ ID ကိုထည့်သွင်းခြင်း၏နံပါတ်ပေါ် မူတည်. တွက်ချက်ရမည်။

  • ၎င်းကို ဒေါ်လာ MySQLI-> Insert_id (ကြေငြာချက်ကိုကွပ်မျက်ခံရသည့် MySQLI Connection Object တွင်) ရနိုင်သည်။

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

MySQLI_STMT :: $ insert_id ကို အလွယ်တကူနှင့်တိကျမှန်ကန်စွာပိုမိုတိကျစွာရယူနိုင်ရန်လွယ်ကူစွာနှင့်တိကျစွာရယူနိုင်ရန်။ ကြိုတင်မရသောထုတ်ပြန်ချက်များကိုပေါင်းစပ်ခြင်းသည်ဒေတာလုံခြုံရေးနှင့်ကုဒ်စံနှုန်းများကိုတိုးတက်စေနိုင်သည်။ ဤပိုင်ဆိုင်မှုကိုသင့်တော်စွာအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်လုပ်ငန်းများ၏ကောင်းမွန်သောယုတ္တိဗေဒနှင့်ဒေတာသမာဓိရှိမှုကိုရရှိရန်ကူညီနိုင်သည်။