လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_STMT :: Insert လုပ်ငန်းများကိုင်တွယ်ရန်ပြင်ဆင်ပါ

MySQLI_STMT :: Insert လုပ်ငန်းများကိုင်တွယ်ရန်ပြင်ဆင်ပါ

gitbox 2025-05-26

1 ။ MySQLI_STMMT :: Insert စစ်ဆင်ရေးအတွက်ပြင်ဆင်ပါ။


  1. Preprocessing ထုတ်ပြန်ချက်များအားဖြင့် SQL ထုတ်ပြန်ချက်များ၏ဖွဲ့စည်းတည်ဆောက်ပုံနှင့်အချက်အလက်များကိုသီးခြားစီခွဲထားပြီးအန္တရာယ်ရှိသောအသုံးပြုသူဆေးထိုးခြင်းအန္တရာယ်ကိုရှောင်ရှားသည်။

  2. Execution ထိရောက်မှုကိုတိုးတက်အောင်လုပ်ပါ ထပ်ခါတလဲလဲလုပ်ဆောင်မှုထုတ်ပြန်ချက်များအတွက်ဒေတာဘေ့စ်ဆာဗာသည်စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက် Database ဆာဗာကိုသာခွဲထုတ်ရန်လိုအပ်သည်။

  3. ရှင်းလင်းသောကုဒ်ဖွဲ့စည်းပုံ <br> <br> parameter သည်စည်းမျဉ်းစည်းကမ်းများသည် code ကိုဖတ်ရန်ရှုပ်ထွေးမှုကိုပိုမိုလွယ်ကူစေသည်။


2 ။ MySQLI_STMMT ကို အသုံးပြု. အပြည့်အဝဖြစ်စဉ်ကို :: process ရန်ပြင်ဆင်ရန်ပြင်ဆင်ပါ

ဤတွင်စံသတ်မှတ်ချက်ဥပမာတစ်ခုမှာ -

<code> <? PHP // 1 ။ ဒေါ်လာ MySQLI = MYSQLI (GITBOX.NET "," Username "," Password "," ဒေတာဘေ့စ် ",

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
IF ($ mySqli-> Connect_errno) {
Die ("ဆက်သွယ်မှုမအောင်မြင်ပါ။ "
}

// 2 ။ SQL ထုတ်ပြန်ချက်များကိုပြင်ဆင်ပါ
$ sql = "အသုံးပြုသူများကိုအသုံးပြုသူများ (အသုံးပြုသူအမည်, အီးမေးလ်, အသက်, အသက်, အသက်) တန်ဖိုးများ (?,?)" ";
$ stmt = $ MySQLI-> ကြိုတင်ပြင်ဆင်မှု ($ sql);

လျှင် (! $ stmt) {
သေဆုံး ("Preprocessing မအောင်မြင်ပါ -" ။ $ MySQLI-> အမှား);
}

// 3 ။ bind portameters တွေကိုချည်ထား
// 'SSI' သည် parameter type အမျိုးအစားကိုကိုယ်စားပြုသည်။ S သည် string ကိုကိုယ်စားပြုသည်။ ကျွန်ုပ်သည်ကိန်းကိုကိုယ်စားပြုသည်
$ username = "အဲလစ်",
$ email = " အဲလ်ရုံ@example.com ";
$ အသက် = 25;
$ stmt-> bind_param ("SSI", $ username, $ အီးမေးလ်, $ အသက်အရွယ်);

// 4 ။ ထုတ်ပြန်ချက် execute
လျှင် ($ stmt-> execute ()) {
Echo "အောင်မြင်စွာထည့်ပါ, Insert ID က" ။ $ stmt-> Insert_id;
} အခြား
ECHO "Execute ပျက်ကွက်ခြင်းမရှိပါ။ " $ stmt-> အမှား;
}

// 5 ။ ပိတ်ပစ်ထုတ်ပြန်ချက်များနှင့်ဆက်သွယ်မှု
$ stmt-> အနီးကပ် ();
$ MySQLI-> အနီးကပ် (),
>
</ code>


တစ်ခုချင်းစီကိုခြေလှမ်း၏အသေးစိတ်ဖော်ပြချက်

1 ။ MySQLI အရာဝတ်ထုတစ်ခုကိုဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်ဖန်တီးပါ

ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန် MySQLI (Host, User, Pass, DBNAME) ကို သုံးပါ။
ထုတ်လုပ်မှုပတ် 0 န်းကျင်တွင် () () () () () () () တွင်ချန်လှပ်ခြင်းသို့မဟုတ်အမှားမှတ်တမ်းများကိုအသုံးပြုရန်အကြံပြုသည်။

2 ။ ပြင်ဆင်ခြင်းကို အသုံးပြု. ကြိုတင်ကြေငြာချက်တစ်ခုဖန်တီးပါ ()

  • မေးခွန်းအမှတ်အသားကိုသုံးပါ SQL ထုတ်ပြန်ချက်များအတွက် parameter သည် placeholder အဖြစ်။

  • ပြင်ဆင်ထားပါက () မှ မှားယွင်းစွာ ပြန်ပို့ပါက syntax အမှားတစ်ခုသို့မဟုတ်ဆက်သွယ်မှုခြွင်းချက်ကိုဆိုလိုသည်။

3 ။ Parameter bind_param ()

  • ကြေညာချက်၏အငြင်းပွားမှုများသို့ variable တွေကိုချည်နှောင်။

  • parametere အမျိုးအစားများကိုကြိုးများဖြင့်ကိုယ်စားပြုသည်။

    • s string ကို (string)

    • ငါ ကိန်းဂဏန်း

    • D နှစ်ဆတိကျမှု (နှစ်ဆ)

    • B Binary (BLOB)

  • အဆိုပါ variable ကိုရည်ညွှန်း PASS ဖြစ်ရမည်နှင့်ကွပ်မျက်မတိုင်မီတာဝန်ပေးအပ်ရမည်ဖြစ်သည်။

4 ။ execute လုပ်ပါ ()

  • Preprocessing ကြေညာချက်ကို execute လုပ်ရန် $ stmt-> execute () ကိုခေါ်ပါ။

  • ကွပ်မျက်ပြန်လာရလဒ်အပေါ်အခြေခံပြီးအောင်မြင်မှုရှိမရှိတရားစီရင်ခြင်း။

5 ။ အရင်းအမြစ်ကိုပိတ်ပါ

  • ဆာဗာအရင်းအမြစ်များကိုအခမဲ့လွှတ်ပေးရန် Preprocessing ထုတ်ပြန်ကြေငြာချက်ကို ပိတ် ပါ။

  • ဒေတာဘေ့စ် connection ကိုပိတ်ပါ $ MySQLI-> အနီးကပ် ()


MySQLI_STMMT ကို အသုံးပြု. ထည့်သွင်းခြင်းလုပ်ငန်းများကိုကိုင်တွယ်ရန်အတွက်ကြိုတင်ကာကွယ်မှုများပြုလုပ်ရန်ကြိုတင်ကာကွယ်မှုများ --: ပြင်ဆင်ပါ

  1. Parameter သည်မှန်ကန်စွာကိုက်ညီရမည် မမှန်ကန်ကြောင်းမှားယွင်းသော parameter သည်ဒေတာများပြောင်းလဲခြင်းသို့မဟုတ်ဒေတာအမျိုးအစားပြောင်းလဲခြင်းအမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။

  2. ကွပ်မျက် variable ကိုကွပ်မျက်မတိုင်မီတာဝန်ပေးအပ်ထားရပါမည် ဒီလိုမှမဟုတ်ရင်တရားမဝင်သောသို့မဟုတ်မမှန်ကန်သောတန်ဖိုးများကိုဖြည့်စွက်နိုင်သည်။

  3. ခြွင်းချက်ကိုင်တွယ်ခြင်းနှင့်အမှားမှတ်တမ်း <br> သေဆုံးရန် () ကို တိုက်ရိုက်အသုံးပြုရန်အကြံပြုသည်မဟုတ်ပါ။ ပရိုဂရမ်၏ကြံ့ခိုင်မှုကိုသေချာစေရန်အမှားများကိုဖမ်းရန်သင်ချွင်းချက်ယန္တရားကိုသုံးနိုင်သည်။

  4. Batch Insert <br> အကယ်. Batch Inserts လိုအပ်သည်ဆိုပါစို့။

  5. အက်ခရာ encodency ကိုက်ညီမှု <br> ဒေတာဘေ့စ်နှင့် PHP scripts ၏ဇာတ်ကောင် encoding သည် concled code ကိုမှရှောင်ရှားကြောင်းသေချာပါစေ။

  6. Insert_id အာရုံ <br> <br> AutoOncrement Test Key ကိုရယူရန် $ stmt-> ထည့်သွင်းမှုများကို အသုံးပြုသောအခါ, Autoincrement colloptumns ကိုစားပွဲ၌သေချာအောင်လုပ်ပါ။