လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> အသစ်ပြောင်းခြင်းစစ်ဆင်ရေးဖျော်ဖြေပွဲတစ်ခုပြုလုပ်သောအခါ, ကိုက်ညီသောအတန်းများရှိရှိ, မရှိစစ်ဆေးရန်မေ့နေခြင်း,

အသစ်ပြောင်းခြင်းစစ်ဆင်ရေးဖျော်ဖြေပွဲတစ်ခုပြုလုပ်သောအခါ, ကိုက်ညီသောအတန်းများရှိရှိ, မရှိစစ်ဆေးရန်မေ့နေခြင်း,

M66 2025-06-29

ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP ၏ MySQLI တိုးချဲ့မှုကိုအသုံးပြုသောအခါ Database Operations များအတွက် update ကြေငြာချက်သည်အသုံးအများဆုံး SQL operations များထဲမှတစ်ခုဖြစ်သည်။ သို့သော် Developer များစွာသည် Update စစ်ဆင်ရေးကိုလုပ်ဆောင်သောအခါအဓိကအသေးစိတ်အချက်အလက်များကိုမကြာခဏလျစ်လျူရှုလေ့ရှိသည် - မွမ်းမံမှုများမလုပ်မီကိုက်ညီသည့်မှတ်တမ်းများရှိကြောင်းသူတို့မစစ်ဆေးပါ။ ဒီအဝိဇ္ဇာသည် MySQLI :: After_rows attribute ၏တန်ဖိုးကိုတိုက်ရိုက်အကျိုးသက်ရောက်လိမ့်မည်။ ၎င်းသည် Logic အမှားများသို့မဟုတ်ပုံမှန်မဟုတ်သောအပြုအမူများကိုဖြစ်ပေါ်စေနိုင်သည်။

1 ။ MySQLI :: $ ably_rows ၏အဓိပ္ပါယ်နှင့် function ကို

MySQLI တွင် ဒေါ်လာ MySQLI-> ဘေးဒဏ်သင့်သူများအတွက် အကျိုးသက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကို (ဥပမာ - ထည့်သွင်းခြင်း , update, update , ဖျက်ခြင်း ) တိုင်းတာသည့်အတန်းအရေအတွက်ကိုပြန်ပို့သည်။ ဤတန်ဖိုးကို application တစ်ခုတွင်လုပ်ဆောင်မှုသည်အောင်မြင်မှုအောင်မြင်ရန် (သို့) စစ်ဆင်ရေးမှတ်တမ်းကိုမှတ်တမ်းတင်ရန်အသုံးပြုသည်ကိုဆုံးဖြတ်ရန်အသုံးပြုသည်။

ဥပမာအားဖြင့်:

<Code> $ MySQLI = MYSQLI ("localhost", "Pass", Pass "," Pass ");

$ MySQLI-> စုံစမ်းမှု ("Update antes query) assess status = 'active' 'ယခု () ယခု () ယခု () ယခု () - ကြားကာလ 30);

ECHO $ ​​MYSQLI-> FILL_ROWS;
</ code>

ဤကုဒ်သည်ဘေးဒဏ်သင့်သည့်လိုင်းများကိုရလဒ်များထုတ်ပေးသည်။

2 ။ ကိုက်ညီတဲ့အတန်းမရှိသည့်အခါအပြုအမူ

$ MySQLI-> ADVEARMEDD UPDATEDED ကြေငြာချက်သည်မည်သည့်မှတ်တမ်းနှင့်မကိုက်ညီသောအခါ 0 ပြန်လည်ရောက်ရှိသည်။ ဘာကြောင့်လဲဆိုတော့ syntax ကမှန်ကန်တဲ့ဟုတ်ကဲ့,

မှတ်ချက်။ ။ SQL ကြေငြာချက် syntax သည်လုံးဝမှန်ကန်မှုရှိလျှင်ပင် ထိခိုက်မှုသည် 0 င် 0 င် 0 သည် 0 င်နေပါကမည်သည့်ဒေတာကိုမျှမထိမိပါက 0 င်နေဆဲဖြစ်သည်။ ဤသည် SQL ကွပ်မျက်ပျက်ကွက်ကြောင်းမဆိုလိုပါဘူး။

ဥပမာအားဖြင့်:

<Code> $ MySQLI = MYSQLI ("localhost", "Pass", Pass "," Pass ");

$ MySQLI-> စုံစမ်းမှု ("Update antes query) use actual status = 'active' 'id = 999999");

ECHO $ ​​MYSQLI-> FILL_ROWS;
</ code>

အသုံးပြုသူသည် ID = 99999 မတည်ရှိပါကထုတ်လုပ်မှုသည် 0 င် ဖြစ်လိမ့်မည်။

3 ။ ဒေတာကိုပြောင်းလဲမထားပါဘူးအခါ

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

ဥပမာအားဖြင့်:

<Code> $ MySQLI = MYSQLI ("localhost", "Pass", Pass "," Pass ");

$ MySQLI-> စုံစမ်းမှု ("Update အသုံးပြုသူများ) status = 'activing' 'status =' activity '' ')

ECHO $ ​​MYSQLI-> FILL_ROWS;
</ code>

ဒီကုဒ်မှာလိုင်းများကိုလိုက်လျောညီထွေဖြစ်ပေမယ့် status field 'သည်' တက်ကြွလှုပ်ရှား နေပြီဆိုတော့ဒီကုဒ်ကိုလိုက်လျောညီထွေဖြစ်ပေမယ့်အမှန်တကယ်ဒေတာပြုပြင်မွမ်းမံလုပ်ဆောင်ချက်တွေမရှိပါဘူး။ MySQL ကအတန်းများအနေဖြင့် "ထိခိုက်မှု" ဟုမထင်ကြပါလိမ့်မည်

4 ။ ဘေးဒဏ်သင့်လှည့်ပတ် ကိုင်တွယ်ရန်မှန်ကန်သောလမ်း

အကယ်. သင်သည်ထိခိုက်နစ်နာမှုအောင်မြင်မှုအောင်မြင်မှုအောင်မြင်မှုရှိ, မရှိကိုဆုံးဖြတ်ရန်အတွက် ဘေးဒဏ်သင့် သည့်အချိန်တွင်မှီခိုနေလျှင်အောက်ပါအချက်နှစ်ချက်ကိုစဉ်းစားရန်သေချာပါစေ။

  • SQL Execution အောင်မြင်မှုရှိမရှိ ( $ MySQLI-> ERRNO / ERRNO-> ERRESS )

  • Impt_row သည်အပြုသဘောဆောင်သောတန်ဖိုးတစ်ခုဖြစ်သည်ဖြစ်စေ,

ပြီးပြည့်စုံသောဥပမာ -

<Code> $ MySQLI = MYSQLI ("localhost", "Pass", Pass "," Pass ");

$ ရလဒ် = $ MySQLI-> Query ("Update Uperse အသုံးပြုသူများသည် status = 'မလှုပ်မရှားဖြစ်နေသော' ယခု () ယခု () ယခု () - ကြားကာလ 1 နှစ်");

လျှင် ($ ရလဒ် === fiss) {
သေသည် ("SQL အမှား -" ။ MySQLI-> အမှား),
} အခြား ($ MySQLI-> FILL_RAWS> 0) {
ECHO "{$ mySQli-> ဘေးဒဏ်သင့်}} Record Record Record ကိုအောင်မြင်စွာ update လုပ်ပါ။ ";
} အခြား
ECHO "မှတ်တမ်းများမရှိပါ။ ";
}
</ code>

5 ။ အမှန်တကယ်ကိစ္စများသတိပေးချက်

စီမံခန့်ခွဲမှုစနစ် (သို့) interface တစ်ခုတည်ဆောက်သည့်အခါ developer များက 0 န်ဆောင်မှုခံယူသူ၏ 0 င်လာသည့်အခြေအနေများသည် ထိခိုက်နစ်နာမှု သို့ပြန်ပို့ခြင်းဖြင့်မည်သည့်အချက်အလက်မဆိုအချက်အလက်များမဆိုစစ်ဆေးရန်လိုသည်။ ဤယန္တရားမရှိလျှင်၎င်းသည် 0 န်ဆောင်မှုခံယူသူအားမွမ်းမံမှုသို့မဟုတ်ဆာဗာအမှားကိုမှားယွင်းစွာတွေးခေါ်နိုင်သည်။

ဥပမာအားဖြင့်, interface:

<code> Post /api/update-status.php?user_id=123 http / 1.1 host: m66.net </ code>

အသုံးပြုသူ ID မရှိပါက interface chinition သည် စိတ်ထိခိုက်မှု အပေါ် အခြေခံ. စစ်ဆင်ရေးအောင်မြင်မှုရှိ, သတိပြုသင့်သည်မှာ၎င်းသည် "စစ်ဆင်ရေးချို့ယွင်းမှု" ကိုပိုမိုရှင်းလင်းစွာတုန့်ပြန်သောတုံ့ပြန်မှုအချက်အလက်များမှတဆင့် "စစ်ဆင်ရေးပျက်ကွက်ခြင်း" ဖြစ်သည်။

အကျဉ်းချုပ်

PHP ၏ MySQLI စစ်ဆင်ရေးတွင် ဒေါ်လာ MySQLI-> Temper_rows သည်အချက်အလက်များအမှန်တကယ်ပြောင်းလဲခြင်းရှိမရှိဆုံးဖြတ်ရန်အရေးကြီးသောနည်းလမ်းတစ်ခုဖြစ်သည်။ သို့သော်မှတ်သားရန်အရေးကြီးသည် -

  • ကိုက်ညီသောမှတ်တမ်းမရှိပါသည့်အခါတန်ဖိုးသည် 0 ဖြစ်သည်

  • အသစ်ပြောင်းခြင်းမတိုင်မီနှင့်ပြီးနောက်ဒေတာနှင့်ကိုက်ညီပေမယ့် data ကိုနှင့် အတူတူ ပင်ဖြစ်ပါသည်

  • SQL Execute အမှားများကို ထိခိုက်မှုရှိသည့်အတွက်ရောင်ပြန်ဟပ်ခြင်း နှင့်အပိုဆောင်းဆုံးဖြတ်ချက်ချရန်လိုအပ်သည်

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