MySQLI_STMT :: $ error_list ကိုအသုံးပြုနည်း - အမှားအယွင်းများကိုရယူရန်နှင့်စီမံခန့်ခွဲရန် $ error_list?
Database Operations အတွက် MySQLI Extensions ကိုအသုံးပြုသည့်အခါအမှားကိုင်တွယ်မှု၏အရေးကြီးသောအစိတ်အပိုင်းတစ်ခုဖြစ်ပြီး၎င်းသည် MySQLI Extensions ကိုအသုံးပြုသည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်အမှားတစ်ခုတည်းကိုရရန် MySQLI_ERRORE_ERRORRORRORR () သို့မဟုတ် mySQLI_STMTMT_ERRORE () ကို သုံးသည်။ MySQLI သည် MySQLI_STMT :: $ error_lmt property ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်ရှုပ်ထွေးသော SQL operations များအတွက်အထူးအရေးကြီးသည်။ ကျွန်ုပ်တို့အားပိုမိုကောင်းမွန်သော debug ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
MySQLI_STMT :: $ error_list သည်လက်ရှိကြေညာချက်အရာဝတ်ထုနှင့်သက်ဆိုင်သောအမှားအချက်အလက်အားလုံးကိုသိမ်းဆည်းထားသောအတန်းများခင်းကျင်းသည်။ ၎င်းမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အမှားတစ်ခုတည်းမဟုတ်ဘဲအမှားအချက်အလက်များကိုအသေးစိတ်စာရင်းပြုစုနိုင်သည်။ element တစ်ခုစီသည်အမှားကုဒ်နှင့်အမှားစာသားများအပါအ 0 င်အမှားအယွင်းများ၏တိကျသောဖော်ပြချက်ကိုကိုယ်စားပြုသည်။
MySQLI_STMT :: $ error_list ကို အသုံးပြုရန်အတွက် MySQLI connection တစ်ခုကို ဦး စွာဖန်တီးရန်နှင့် SQL ကြေငြာချက်ကိုပြင်ဆင်ရန်နှင့် execute လုပ်ပါ။ Execute တွင်အမှားအယွင်းများစွာပေါ်ပေါက်လာပါက $ error_list တွင် အမှားအယွင်းများအားလုံးပါ 0 င်မည်ဖြစ်သည်။ ထို့နောက် Error_list ပိုင်ဆိုင်မှုကိုရယူခြင်းဖြင့် error_list property ကိုကျွန်ုပ်တို့ကြည့်ရှုပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဖန်တီး MySQLi ဆက်</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">"localhost"</span></span><span>, </span><span><span class="hljs-string">"username"</span></span><span>, </span><span><span class="hljs-string">"password"</span></span><span>, </span><span><span class="hljs-string">"database"</span></span><span>);
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှုဆက်是否成功</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"ဆက်失败: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-comment">// ပြင်ဆင်ထား SQL အသေအချာပေြာဆိုချက်</span></span><span>
</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 users (username, email) VALUES (?, ?)"</span></span><span>);
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု SQL အသေအချာပေြာဆိုချက်是否ပြင်ဆင်ထား成功</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$stmt</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"SQL အမှား: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->error);
}
</span><span><span class="hljs-comment">// parameters တွေကိုချည်ထား</span></span><span>
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-string">"testuser"</span></span><span>;
</span><span><span class="hljs-variable">$email</span></span><span> = </span><span><span class="hljs-string">"invalidemail.com"</span></span><span>; </span><span><span class="hljs-comment">// ဤနေရာတွင်စာတိုက်ပုံးပုံစံသည်မမှန်ကန်ကြောင်းယူဆပါ</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">"ss"</span></span><span>, </span><span><span class="hljs-variable">$username</span></span><span>, </span><span><span class="hljs-variable">$email</span></span><span>);
</span><span><span class="hljs-comment">// ကရိယာတန်းဆာ SQL အသေအချာပေြာဆိုချက်</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-comment">// 如果有အမှား,输出အမှား列表</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$stmt</span></span><span>->errno) {
</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">$stmt</span></span><span>->error . </span><span><span class="hljs-string">"\n"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှား详情:\n"</span></span><span>;
</span><span><span class="hljs-comment">// 打印所有အမှား信息</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$stmt</span></span><span>->error_list);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အောင်မြင်စွာထည့်ပါ!"</span></span><span>;
}
</span><span><span class="hljs-comment">// 关闭အသေအချာပေြာဆိုချက်和ဆက်</span></span><span>
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်အချက်အလက်များကို အသုံးပြုသူများ စားပွဲ၌အချက်အလက်များကိုထည့်သွင်းရန်ပထမ ဦး ဆုံးကြိုးစားသည်။ MySQL သည်မမှန်မကန်ဖြစ်သောကြောင့် MySQL သည် အမှားအယွင်း များစွာကိုပြန်လည်ရောက်ရှိလိမ့်မည် ။
MySQLI_STMMT :: arrary_list သည် arress_list မှပြန်လာသောခင်းကျင်းမှုသည်အမှားအယွင်းများပါ 0 င်သည်။ များသောအားဖြင့်ဒြပ်စင်တစ်ခုစီသည်နယ်ပယ်နှစ်ခုဖြစ်သော Errno နှင့် အမှားပါ 0 င်သည့် activity ခင်းကျင်းသည်။ Errno သည် အမှားကုဒ်ကိုကိုယ်စားပြုသည်။ အမှားသည် အမှားအယွင်းတစ်ခု၏ဖော်ပြချက်ဖြစ်သည်။ ကျွန်ုပ်တို့သည်ဤခင်းကျင်းမှုများကို ဖြတ်. ဖွင့်နိုင်ပြီးအမှားတစ်ခုစီ၏အသေးစိတ်အချက်အလက်များကိုတစ်ခုချင်းစီမှထုတ်လွှင့်နိုင်သည်။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// စစ်ဆေးကြည့်ရှု是否有多个အမှား</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$stmt</span></span><span>->error_list) > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"存在多个အမှား:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$stmt</span></span><span>->error_list </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$error</span></span><span>) {
</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">$error</span></span><span>[</span><span><span class="hljs-string">'errno'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
</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">$error</span></span><span>[</span><span><span class="hljs-string">'error'</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
ဤဥပမာသည်အမှားကုဒ်တစ်ခုစီနှင့်သက်ဆိုင်ရာအမှားတစ်ခုစီကိုတစ်ခုကတစ်ခုချင်းစီမှဖော်ပြထားသည်။ အမှားအယွင်းများစွာရှိပါကကျွန်ုပ်တို့သည်ပြ problems နာများကိုပိုမိုရှင်းလင်းစွာနားလည်နိုင်ပြီးကွဲပြားခြားနားသောအမှားများအတွက်သင့်လျော်စွာကိုင်တွယ်နိုင်ကြောင်းရှင်းလင်းစွာနားလည်နိုင်သည်။
MySQLI_STMT :: $ error_list အသုံးပြုခြင်း၏အရေးပါသောအကျိုးကျေးဇူးမှာ၎င်းသည်အမှားအယွင်းများစွာကိုဖမ်းယူနိုင်ခြင်းဖြစ်သည်။ ရှုပ်ထွေးသောဒေတာဘေ့စ်လုပ်ငန်းလည်ပတ်မှုများတွင်အမှားအယွင်းများသည်အကြောင်းပြချက်များစွာကြောင့်ဖြစ်ပေါ်လာနိုင်သည် ။ ထို့အပြင်ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်အမှားအယွင်းများကိုကွဲပြားခြားနားသောအမှားအယွင်းများအရကွဲပြားခြားနားသောစစ်ဆင်ရေးများပြုလုပ်စဉ်နည်းလမ်းများကိုပိုမိုဂရုတစိုက်ကိုင်တွယ်ခြင်းအမှားကိုပိုမိုဂရုတစိုက်ဂရုစိုက်နိုင်သည်။
MySQLI_STMM :: $ error_list သည် SQL ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်သည့်အခါ developer များကအမှားအယွင်းများကိုဖမ်းယူနိုင်ရန်နှင့်ပရိုဂရမ်များစွာကိုဖမ်းယူရန်ခွင့်ပြုထားသောအစွမ်းထက်သောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဤပစ္စည်းများကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် SQL Execution ရှိပြ problems နာများကိုပိုမိုနားလည်နိုင်ပြီးဒေတာဘေ့စ်စစ်ဆင်ရေးနှင့်ကုဒ်၏တည်ငြိမ်မှုကိုတိုးတက်စေနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli_stmt