MySQLI_STMT :: Store_Result နှင့် MySqli_Stmt အတွက် MySQLI extension ကိုအသုံးပြုသည့်အခါ MySQLI_STMT :: Store_Result နှင့် MySQLI_STMT :: Fetch သည်ဘုံလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ developer အတော်များများသည်ဤလုပ်ဆောင်မှုနှစ်ခုကိုအသုံးပြုသောအခါ sequential ခေါ်ဆိုမှုများနှင့်ကြုံတွေ့ရနိုင်သည်။
ဒီဆောင်းပါးမှာဒီဆောင်းပါးတစ်ပုဒ်ရဲ့အခန်းကဏ် and နဲ့သူတို့ကိုဘယ်လိုမှန်ကန်စွာအသုံးပြုရမယ်ဆိုတာကိုပိုကောင်းအောင်ကူညီဖို့သူတို့ရဲ့အမိန့်ကိုငါတို့တူးပါလိမ့်မယ်။
MySQLI_STMT :: Store_Result function ကို client memory တွင်သိမ်းဆည်းရန်အသုံးပြုသည်။ ၎င်းကိုမေးခွန်းထုတ်ခြင်းပြီးဆုံးခြင်းနှင့်ရလဒ်ကိုပြန်လည်ရယူခြင်းမပြုမီ၎င်းကိုများသောအားဖြင့်ခေါ်လေ့ရှိသည်။ ဤလုပ်ဆောင်မှုကိုအသုံးပြုခြင်း၏အားသာချက်မှာ Query သည်စုံစမ်းမှုအားလုံးကို load လုပ်ခြင်းသည်တစ်ချိန်တည်းတွင်မှတ်ဥာဏ်သို့မှတ်ဉာဏ်ထဲသို့မှတ်ဉာဏ်ထဲသို့ရောက်သွားသည်။
MySQLI_STMT :: Fetch function ကိုကွပ်မျက်ခံရသောစုံစမ်းမှုရလဒ်မှရလဒ်များကိုရလဒ်တစ်ခုတည်းကိုရယူရန်အသုံးပြုသည်။ ရယူရန် ခေါ်ဆိုမှုတစ်ခုစီသည်ရရှိနိုင်သည့်အတန်းများမရရှိနိုင်သည့်အထိစုံစမ်းမှုရလဒ်အနေဖြင့်အချက်အလက်များအရအချက်အလက်များကိုပြန်လည်ရောက်ရှိစေသည်။
MySQLI_STMT :: fetch and mysqli_stmt :: Store_Result သည်စုံစမ်းမှုရလဒ်များကိုကိုင်တွယ်ရန်အတွက်အဓိကလုပ်ဆောင်ချက်နှစ်ခုလုံးသည် 4 င်းတို့၏ခေါ်ဆိုမှုမှာအရေးပါသည်။ မှန်ကန်သောနိုင်ရန်မှာ -
SQL query ကို ဦး စွာ Execute : MySQLI_STMT :: Query ကို execute လုပ်ရန် Execute ။
ထို့နောက် Store_Result : Buffers သည်ဆာဗာဘက်မှ 0 န်ဆောင်မှုခံယူသူ၏မှတ်ဉာဏ်သို့ 0 င်ရောက်နိုင်ရန်သေချာစေခြင်း။
နောက်ဆုံးအနေဖြင့် Fetch ဟုခေါ်သည် ။ လိုင်းအားဖြင့်ဒေတာအတန်းကိုထုတ်ယူပါ။
မေးမြန်းမှုရလဒ်များကြားခံ :
Store_Result function သည် server-side ရလဒ်ကို client memory ထဲသို့သွင်းလိမ့်မည်။ Store_result ကို မ ခေါ်မီမခေါ်ပါက MySQL သည် data data line ကိုပုံမှန်အားဖြင့်လိုင်းဖြင့်ပို့လိမ့်မည်။ ၎င်းသည်ရလဒ်ကိုဆာဗာဘက်တွင်ပိတ်ထားပြီးဖြစ်သောကြောင့်ရလဒ်ကိုအကြိမ်ကြိမ်သတ်မှတ်နိုင်သည့်ရလဒ်ကိုအကြိမ်ကြိမ်မရယူနိုင်ပါ။
ရလဒ်များကိုအပြည့်အဝဖတ်ရှုရန်သေချာပါစေ :
Store_result ကို ခေါ်ပြီးနောက်မေးမြန်းမှုရလဒ်အားလုံးကိုမှတ်ဉာဏ်ထဲသို့ဆွဲထုတ်မည်ဖြစ်ပြီး fetch function သည် data row ကိုလိုင်းအားဖြင့်လုံခြုံစွာဖတ်နိုင်သည်။ Store_Result မပါဘဲသင်မရရှိနိုင်သည့်အချက်အလက်များနှင့်ပြ problems နာများနှင့်ကြုံတွေ့ရနိုင်သည်။
စွမ်းဆောင်ရည်အကောင်းမြင် :
အကယ်. သင့်တွင် query quertult of query quertues _Result ကို မခေါ်ပါက MySQL သည်စုံစမ်းမှုရလဒ်များကိုလိုင်းအားဖြင့်လိုင်းဖြင့်ပေးပို့လိမ့်မည်။ ၎င်းသည်ဆာဗာနှင့်ဖောက်သည်အကြားဆက်သွယ်ရေးဝန်ထုပ်ဝန်ပိုးကိုတိုးမြှင့်ပေးပြီးစွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေသည်။ ထို့ကြောင့် Store_result ကို ခေါ်ဆိုခြင်းသည်သင်၏စုံစမ်းမှုကိုရယူရန်လိုအပ်သည့်အခါစွမ်းဆောင်ရည်ကိုများစွာတိုးတက်စေနိုင်သည်။
အကယ်. သင်သည် Store_Result ကို ခေါ်။ ပြောင်းပြန် ပြုလုပ်ပါက , ဥပမာအားဖြင့် Store_result ကို ခေါ်ဆိုခြင်းမရှိဘဲ ရယူခြင်းကို တိုက်ရိုက်ခေါ်ဆိုပါကအောက်ပါပြ problems နာများကိုကြုံတွေ့ရနိုင်သည်။
ရလဒ်အစုသည်အချည်းနှီးဖြစ်သည် ။ Store_Result ကိုယူ သောအခါမကွပ်မျက်လျှင်ရလဒ်ကိုမရရှိနိုင်ပါ။ အထူးသဖြင့်စုံစမ်းမှုသည်ကြီးမားသောဒေတာများကိုပြန်လည်ရောက်ရှိလာသောအခါ MySQL သည် ယူဆချက်ကို ခေါ်ယူသောအခါဆာဗာဘေးထွက်မှဒေတာအတန်းများရရန်ကြိုးစားလိမ့်မည်။
စွမ်းဆောင်ရည်ပျက်စီးခြင်း - ခေါ်ဆို ရန်ခေါ်ဆိုမှုတစ်ခုစီသည်အထူးသဖြင့်ဒေတာပမာဏကြီးမားသည့်အခါစွမ်းဆောင်ရည်ကိုထိခိုက်နိုင်သည့်ဒေတာဘေ့စ်ဆာဗာနှင့်ဆက်သွယ်ရန်လိုအပ်သည်။
ခေါ်ဆိုမှု၏မှန်ကန်သောအစီအစဉ်မှာ -
MySQLI_STMT :: Execute query ကိုလုပ်ဆောင်သည်။
MySQLI_STMM :: Store_Result Repes ရလဒ်အစုအဝေး။
MySQLI_STMT :: Fetch သည် လိုင်းအားဖြင့်ဒေတာအတန်းကိုရရှိသည်။
ဤအမိန့်ကိုခေါ်ဆိုခြင်းကစုံစမ်းမှုရလဒ်များ၏မှန်ကန်မှုကိုသေချာစေပြီးစွမ်းဆောင်ရည်ကိုတိုးမြှင့်နိုင်သည်။ ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်အတွင်းမလိုအပ်သောအမှားအယွင်းများနှင့်စွမ်းဆောင်ရည်ပြခြင်းများကိုရှောင်ရှားရန်ဤအမိန့်ကိုအမြဲတမ်းခေါ်ဆိုရန်အကြံပြုသည်။