PHP ပရိုဂရမ်တွင် MySQLI ကို အသုံးပြု. ဒေတာဘေ့စ်အရောင်းအ 0 ယ်ပြုလုပ်ရန်အတွက်အသုံးပြုသောငွေပေးချေမှုတိုင်းတွင်စစ်ဆင်ရေးတိုင်းကိုချောချောမွေ့မွေ့ပြုလုပ်ရန်သေချာစေရန်လိုအပ်သည်။ အကယ်. ဤအဆင့်များမအောင်မြင်ပါကမည်သည့်လင့်ခ်သည်မည်သည့်လင့်ခ်ကိုမျှမမှန်ကန်ကြောင်းကျွန်ုပ်တို့အတိအကျဆုံးဖြတ်နိုင်သင့်သည်။ MySQLI :: $ errno property ကငွေသွင်းငွေလွှဲမှုပျက်ကွက်မှုအကြောင်းအရင်းကိုရှာဖွေရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် MySQLI :: $ errno မှတစ်ဆင့်ဒေတာဘေ့စ်၏အနေဖြင့်မည်သည့်အဆင့်တွင်မည်သည့်အဆင့်တွင်မအောင်မြင်ပါ။
MySQLI တွင် MySQLI :: $ errno သည် နောက်ဆုံးပေါ်စစ်ဆင်ရေးအတွက်အမှားကုဒ်ကိုကိုယ်စားပြုသောပစ္စည်းတစ်ခုဖြစ်သည်။ ဤပိုင်ဆိုင်မှုမှတစ်ဆင့်မှားယွင်းသောဂဏန်းကုဒ်ကိုမှားယွင်းစွာလုပ်ဆောင်သည်သို့မဟုတ်ပျက်ကွက်ခြင်းရှိမရှိဆုံးဖြတ်ရန်ရနိုင်သည်။ အကယ်. စစ်ဆင်ရေးမအောင်မြင်ပါက ERRNO သည် သက်ဆိုင်ရာအမှားကုဒ်ကိုပြန်ပို့လိမ့်မည်။
ငွေပေးငွေယူတစ်ခုစတင်ပါ
ငွေပေးငွေယူမစခင် MySQLI :: In ငွေပေးငွေယူတစ်ခုစတင်ရန် MySQLI :: စတင်ရန်လိုအပ်သည်။
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
// ငွေပေးငွေယူတစ်ခုစတင်ပါ
$mysqli->begin_transaction();
အရောင်းအ 0 ယ်များတွင် SQL operations များကိုလုပ်ဆောင်ပါ
ငွေပေးငွေယူတစ်ခုတွင်ကျွန်ုပ်တို့သည် SQL Queries မျိုးစုံကိုအကောင်အထည်ဖော်နိုင်သည်။ ခြေလှမ်းများမအောင်မြင်,
// ပထမတစ်ခု execute SQL မေးမြန်း
$result1 = $mysqli->query("UPDATE users SET balance = balance - 100 WHERE id = 1");
// 检查第一个မေးမြန်း是否成功
if ($mysqli->errno) {
echo "အမှား:မေးမြန်း 1 ဆုံးရှုံး,အမှား代码:" . $mysqli->errno;
$mysqli->rollback(); // ပြန်အရောင်းအလှိမ့်
exit();
}
// ဒုတိယ execute SQL မေးမြန်း
$result2 = $mysqli->query("UPDATE users SET balance = balance + 100 WHERE id = 2");
// 检查第二个မေးမြန်း是否成功
if ($mysqli->errno) {
echo "အမှား:မေးမြန်း 2 ဆုံးရှုံး,အမှား代码:" . $mysqli->errno;
$mysqli->rollback(); // ပြန်အရောင်းအလှိမ့်
exit();
}
// 如果所有မေးမြန်း都成功,တင်သွင်းမှုတင်သွင်း
$mysqli->commit();
ဤဥပမာတွင်ကျွန်ုပ်တို့သည်မွမ်းမံမှုနှစ်ခုကိုလုပ်ဆောင်သည်။ ပထမ ဦး ဆုံးအသုံးပြုသူ 1 ၏ချိန်ခွင်လျှာကိုလျော့နည်းစေပြီးဒုတိယအနေဖြင့် user 2 ခု၏ချိန်ခွင်လျှာကိုတိုးပွားစေပါသည် ။
MySQLI :: errno မှတစ်ဆင့်အမှားများကိုစစ်ဆေးပါ
MySQLI :: errno ၏တန်ဖိုး :: SQL စစ်ဆင်ရေးတစ်ခုချင်းစီကိုလုပ်ဆောင်ပြီးနောက် $ errno ကို update လုပ်သည်။ အကယ်. စစ်ဆင်ရေးပျက်ကွက်ပါက MySQLI :: $ errno သည် သက်ဆိုင်ရာအမှားကုဒ်ကိုပြန်ပို့လိမ့်မည်။ ဥပမာအားဖြင့်, သင်သည် update ကိုစစ်ဆင်ရေးတစ်ခုပြုလုပ်ပါကအောက်ပါအမှားကုဒ်ပေါ်လာနိုင်သည်။
1062 - ထပ်တူသော့ချက်အမှားကိုဖော်ပြသည်။
1451 - နိုင်ငံခြားအဓိကကန့်သတ်ချက်အမှားကိုဖော်ပြသည်။
အထက်ပါကုဒ်တွင် errno သည် တန်ဖိုးရှိသည်ရှိမရှိ ($ MySQLI-> ERRNO) ရှိမရှိ စစ်ဆေးသည်။ သို့ဆိုလျှင်၎င်းသည်ရှာဖွေမှုသည်မအောင်မြင်ဟုဆိုလိုသည်, MySQLI :: $ errno မှပေးသောအမှားကုဒ်အပေါ် အခြေခံ. ပြ problem နာကိုထပ်မံလေ့လာသုံးသပ်နိုင်သည်။
အရောင်းအကိုင်တွယ်အတွက်အမှားများ
ငွေပေးငွေယူတွင်စစ်ဆင်ရေးပျက်ကွက်ပါကငွေပေးငွေယူတစ်ခုလုံးကိုပြန်လှိမ့်ရန်လိုအပ်သည်။ Database သည်တသမတ်တည်းဖြစ်ကြောင်းသေချာစေရန် MySQLI :: ROLLBACK () rollack () ကိုသုံးပါ။ အထက်ပါကုဒ်ပါ 0 င ်သည့်ဥပမာတွင် query တစ်ခုစီပျက်ကွက်သောအခါ Rollback () ကို ခေါ်ဆိုပါ။
ထို့အပြင်ငွေပေးချေမှုပြီးဆုံးပြီးနောက်အမှားမရှိပါကကျွန်ုပ်တို့သည်ငွေပေးငွေယူကိုဒေတာဘေ့စ်သို့သိမ်းဆည်းရန်သေချာစေရန် MySQLI ::
MySQLI :: $ errno မှတစ်ဆင့်ဒေတာဘေ့စ်ငွေပေးငွေယူတွင်မည်သည့်စစ်ဆင်ရေးကိုမအောင်မြင်ပါ။ ဤချဉ်းကပ်မှုသည်ကိုင်တွယ်ဖြေရှင်းခြင်းနှင့်အမှားပြုခြင်းအတွက်အလွန်ထိရောက်သောကြောင့်ပြ problems နာများကိုရှာဖွေရန်နှင့်ရှုပ်ထွေးသောအရောင်းအ 0 ယ်များတွင်သင့်လျော်သောအစီအမံများပြုလုပ်ရန်ကူညီနိုင်သည်။ ငွေပေးချေမှုစနစ်ပြုပြင်ခြင်းတွင်အမှားအယွင်းရှိမည်ဆိုလျှင်ငွေပေးချေမှုသည်ဒေတာရှေ့နောက်မညီမှုများမှရှောင်ရှားရန်ငွေပေးချေမှုကိုချက်ချင်းပြန်လှိမ့်ချထားသင့်သည်။
ဤဆောင်းပါးသည် MySQLI :: PHP တွင် MySQLI :: PHP ရှိ MySQLI :: errno ကို အသုံးပြုရမည်ကိုပိုမိုနားလည်ရန်ကူညီပေးပါ။ သင်၏အမှန်တကယ် application တွင်ပြ problems နာများကြုံတွေ့ရပါက MySQL အမှားကုဒ်စားပွဲကိုရှာဖွေခြင်းအားဖြင့်ပြ the နာကိုထပ်မံလေ့လာသုံးသပ်နိုင်သည်။