MySQLI_STMM :: $ insert_id သည် PHP MySQLI extension မှပေးသောပိုင်ဆိုင်မှုတစ်ခုဖြစ်သည်။ Insert လည်ပတ်မှုတစ်ခုဖြင့်ကြေငြာချက်တစ်ခုပြုလုပ်ပြီးနောက်၎င်းသည်စံချိန်တင်ထဲသို့ထည့်လိုက်သော auto_incrent တန်ဖိုးကိုပြန်လည်ရရှိခဲ့သည်။ ဤတန်ဖိုးကိုများသောအားဖြင့်ထူးခြားသောအမှတ်အသားကိုထုတ်လုပ်ရန်အခြေခံအဖြစ်အသုံးပြုသည်။ Asert_id သည် Insert ကြေငြာချက်ကိုအကောင်အထည်ဖော်ပြီးနောက်သာတရားဝင်သည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင်ကိုယ်ပိုင်ကြီးထွားလာသောကွင်းဆင်း rodour_id နှင့်အတူ အမှာ စာထားရှိသည်ဆိုပါစို့။ ၎င်းသည်အမိန့်၏ထူးခြားသောအမှတ်အသားကိုသိမ်းဆည်းရန်အသုံးပြုသည်ဆိုပါစို့။ အမိန့်အသစ်တစ်ခုကိုထည့်သွင်းသောအခါ $ Insert_id သည် ထိုအမိန့်၏ order_id ကို ပြန်ပို့သည်။
<span><span><span class="hljs-variable">$stmt</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">prepare</span></span><span>(</span><span><span class="hljs-string">"INSERT INTO orders (product_name, quantity, price) VALUES (?, ?, ?)"</span></span><span>);
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bind_param</span></span><span>(</span><span><span class="hljs-string">"sid"</span></span><span>, </span><span><span class="hljs-variable">$product_name</span></span><span>, </span><span><span class="hljs-variable">$quantity</span></span><span>, </span><span><span class="hljs-variable">$price</span></span><span>);
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">execute</span></span><span>();
</span><span><span class="hljs-variable">$order_id</span></span><span> = </span><span><span class="hljs-variable">$stmt</span></span><span>->insert_id; </span><span><span class="hljs-comment">// အသစ်ဖြည့်စွက်အမိန့်ကိုရယူပါID</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမိန့်အသစ်ID: "</span></span><span> . </span><span><span class="hljs-variable">$order_id</span></span><span>;
</span></span>
အထက်ဖော်ပြပါကုဒ်အတိုကောက်တွင်ကျွန်ုပ်တို့သည်အမိန့်တစ်ခုထည့်ရန်စစ်ဆင်ရေးတစ်ခုကိုပြုလုပ်ခဲ့ပြီး $ stmt-> insert_id ကို ထည့်သွင်းနိုင်ရန်အတွက် order_id ကို ရရှိခဲ့သည်။
Auto_incrent တန်ဖိုးသည်ကိန်းဂဏန်းအမျိုးအစားတစ်ခု၏ထူးခြားသောအမှတ်အသားဖြစ်သော်လည်းတစ်ခါတစ်ရံကျွန်ုပ်တို့သည်ဤအမှတ်အသားသည်အချိန်ကုန်လွန်သူများ, ထုတ်ကုန်အမျိုးအစားများနှင့်အခြားသတင်းအချက်အလက်များကဲ့သို့သောအသေးစိတ်အချက်အလက်များကိုပိုမိုဖတ်ရှုနိုင်ရန်သို့မဟုတ်တွေ့ဆုံရန်လိုသည်။ ဤအချိန်တွင်ကျွန်ုပ်တို့သည် Insert_id ကို စီးပွားရေးလုပ်ငန်းများကိုပိုမိုကောင်းမွန်သောအမိန့်နံပါတ်များသို့မဟုတ်အခြားထူးခြားသောသတ်မှတ်ချက်များကိုပိုမိုထုတ်လုပ်ရန်ပေါင်းစပ်နိုင်သည်။
အမှာစာနံပါတ်ကိုထုတ်လုပ်ရန်အလေ့အကျင့်အချို့ကိုဤတွင်ဖော်ပြထားသည်။
ပိုမိုထူးခြားသည့်အမှာစာကိုထုတ်လုပ်ရန်အတွက် Insert_id ကို လက်ရှိ timestamp ဖြင့်ပေါင်းစပ်နိုင်သည်။ ဤနည်းအားဖြင့်ထူးခြားမှုကိုသေချာစေရန်အပြင်အမိန့်နံပါတ်လည်းပါ 0 င်သောအချိန်အချက်အလက်များပါ 0 င်နိုင်သည်။
<span><span><span class="hljs-variable">$order_id</span></span><span> = </span><span><span class="hljs-variable">$stmt</span></span><span>->insert_id;
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">"YmdHis"</span></span><span>); </span><span><span class="hljs-comment">// လက်ရှိ timestamp,ပမာဏ:တစ်နှစ်, တစ်ရက်, တစ်နာရီ, တစ်နာရီ, ဒုတိယ</span></span><span>
</span><span><span class="hljs-variable">$unique_order_id</span></span><span> = </span><span><span class="hljs-string">"ORD"</span></span><span> . </span><span><span class="hljs-variable">$timestamp</span></span><span> . </span><span><span class="hljs-title function_ invoke__">str_pad</span></span><span>(</span><span><span class="hljs-variable">$order_id</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, STR_PAD_LEFT);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ထုတ်လုပ်ထားသောအမိန့်နံပါတ်: "</span></span><span> . </span><span><span class="hljs-variable">$unique_order_id</span></span><span>;
</span></span>
ဤဥပမာ တွင် အမှာစာနံပါတ်အမျိုးအစားမှာအမှာ စာ အမျိုးအစားဖြစ်သည်, 20230714153001 ခုနှစ် ,
အမိန့်နံပါတ်သည် application senario ရှိကုန်ပစ္စည်းအမျိုးအစားနှင့်ဆက်စပ်ရန်လိုအပ်ပါကထုတ်ကုန်အချက်အလက်များကို insert_id ဖြင့်ပေါင်းစပ်ခြင်းဖြင့်အမှာစာနံပါတ်ကိုထုတ်လုပ်နိုင်သည်။ ဥပမာအားဖြင့် e-commerce ပလက်ဖောင်းတစ်ခုသည် prefix ကိုထုတ်ကုန်အမျိုးအစား၏ကုဒ်နံပါတ်သို့ရှေ့ဆက်နံပါတ်ကိုသတ်မှတ်လိုသည်။
<span><span><span class="hljs-variable">$product_category_code</span></span><span> = </span><span><span class="hljs-string">"ELEC"</span></span><span>; </span><span><span class="hljs-comment">// လျှပ်စစ်ထုတ်ကုန်ယူဆ</span></span><span>
</span><span><span class="hljs-variable">$order_id</span></span><span> = </span><span><span class="hljs-variable">$stmt</span></span><span>->insert_id;
</span><span><span class="hljs-variable">$unique_order_id</span></span><span> = </span><span><span class="hljs-variable">$product_category_code</span></span><span> . </span><span><span class="hljs-string">"-"</span></span><span> . </span><span><span class="hljs-title function_ invoke__">str_pad</span></span><span>(</span><span><span class="hljs-variable">$order_id</span></span><span>, </span><span><span class="hljs-number">6</span></span><span>, </span><span><span class="hljs-string">'0'</span></span><span>, STR_PAD_LEFT);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ထုတ်လုပ်ထားသောအမိန့်နံပါတ်: "</span></span><span> . </span><span><span class="hljs-variable">$unique_order_id</span></span><span>;
</span></span>
ဤနည်းဖြင့်ထုတ်ဝေသောအမိန့်အရေအတွက်သည် Elec သည် ထုတ်ကုန်အမျိုးအစားနှင့် 0000023 0000023 သည် Elet_id အပေါ် အခြေခံ. ထူးခြားသောအမှတ်အသားတစ်ခုဖြစ်သည့်ထူးခြားသည့်အမှတ်အသားတစ်ခုဖြစ်သည်။
MySQLI_STMT :: $ insert_id ကို အသုံးပြုသောအခါ, ထူးခြားမှုကိုသေချာစေရန်အတွက်,
ငွေပေးငွေ ယူကို အသုံးပြု. ထည့် သွင်းမှုတွင်နောက်ဆုံးအောင်မြင်စွာဖြည့်စွက်ထားသောမှတ်တမ်း၏ ID ကိုပြန်ပို့ခြင်း၏ ID ကိုပြန်ပေးနိုင်သည်။ ထို့ကြောင့် ငွေပေး ငွေယူတွင်ငွေပေးချေမှု တွင်ပြန်လည်ပေးပို့နိုင်သည်။ အကယ်. ငွေပေးငွေယူကိုပြန်လှိမ့်ပါက Insert_id ၏တန်ဖိုးကိုလည်းပြန်လည်စတင်လိမ့်မည်။
ထူးခြားသောအမှတ်အသားများကို Insert_id မှထုတ်လုပ်နိုင်သော်လည်းအချို့သောကိစ္စရပ်များတွင်ဖော်ထုတ်ခြင်း၏ကြိုတင်ခန့်မှန်းနိုင်မှုကိုသေချာစေရန်လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့်, မလွယ်ကူသည့်ခန့်မှန်းထားသည့်အန္တရာယ်ကိုလျှော့ချရန်မှာနံပါတ်တစ်ခုကိုအစဉ်မပြတ်နံပါတ်အဖြစ်မသုံးပါနှင့်။ ရက်စွဲများ, timestamps နှင့်အခြားနည်းလမ်းများကိုပေါင်းစပ်ခြင်းများသည်ဖော်ထုတ်ခြင်း၏ရှုပ်ထွေးမှုနှင့်လုံခြုံမှုကိုတိုးပွားစေသည်။
ဒေတာဘေ့စ်စားပွဲတွင် Auto_incrent တန်ဖိုးသည်ပြန်လည်တည်ဆောက်ပါက (ဥပမာအားဖြင့် alter alter ခွဲစိတ်ကုသမှုတစ်ခုပြုလုပ်ခဲ့သည်), Insert_id ၏တန်ဖိုးကိုပြန်လည်စတင်ခြင်းသို့မဟုတ်ပုံတူကူးယူခြင်းဖြစ်နိုင်သည်။ ထို့ကြောင့်စားပွဲတင်စားပွဲကိုကျန်းမာစေပြီးမလိုအပ်သောစစ်ဆင်ရေးများကိုရှောင်ရှားရန်အလွန်အရေးကြီးသည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli_stmt