PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PDO (PHP ဒေတာအရာဝတ်ထုအရာဝတ်ထု) ကိုအသုံးပြုခြင်းသည်စံပြလုပ်ဆောင်မှုတစ်ခုဖြစ်လာသည်။ PDO သည်အစွမ်းထက်သောလုပ်ဆောင်မှုများကိုပေးသည် ။ အရောင်းအ 0 ယ်များသည်ဒေတာဘေ့စ်လုပ်ငန်းများအောင်မြင်ရန်သို့မဟုတ်အားလုံးမအောင်မြင်စေရန်အတွက်အရောင်းအ 0 ယ်များသည်အောင်မြင်မှုများကိုအောင်မြင်စေနိုင်သဖြင့်အချက်အလက်များ၏အလယ်အလတ်အခြေအနေကိုရှောင်ရှားရန်ဖြစ်သည်။ သို့သော် PDO :: GANTATRANSANSANGANE () ငွေပေးငွေယူကိုအောင်မြင်စွာစတင်ခဲ့ခြင်းရှိမရှိမည်သို့ဆုံးဖြတ်ရမည်နည်း။ အသေးစိတ်အချက်အလက်များကိုအသေးစိတ်ဖော်ပြရန်ဆွေးနွေးကြပါစို့။
Relational database စီမံခန့်ခွဲမှုစနစ်တွင်ငွေပေးငွေယူသည်အောင်မြင်စွာလုပ်ဆောင်ခြင်းသို့မဟုတ်ကျရှုံးမှုအားလုံးကိုလုပ်ဆောင်ခြင်းသို့မဟုတ်ပျက်ကွက်သောလုပ်ငန်းများစုဆောင်းခြင်းဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်လုပ်ငန်းမျိုးစုံလုပ်ဆောင်သောအခါ၎င်းတို့အားငွေပေးချေမှုတစ်ခုတွင်၎င်းတို့ကိုခြုံပြီး, လုပ်ငန်းလည်ပတ်မှုတစ်ခုပျက်ကွက်လျှင်ပင်ငွေပေးငွေယူတစ်ခုလုံးကိုပြန်လှိမ့်ချလိမ့်မည်။
Begintransaction () PDO တွင်ငွေပေးငွေယူတစ်ခုစတင်ရန်နည်းလမ်းဖြစ်သည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'user', 'password');
$pdo->beginTransaction();
အထက်ပါကုဒ်တွင် beginransactionacingaction () နည်းလမ်းသည်ငွေပေးငွေယူတစ်ခုစတင်သည်။ သို့သော်မေးခွန်းမှာ - ၎င်းသည်အောင်မြင်စွာစတင်မေးမြန်းခြင်းရှိမရှိဆုံးဖြတ်ရန်။
တကယ်တော့, beginransaction () နည်းလမ်းကိုယ်တိုင်ကရှင်းလင်းပြတ်သားစွာအောင်မြင်မှုသို့မဟုတ်ကျရှုံးမှုအမှတ်အသားများကိုမပြန်ပါဘူး။ ငွေပေးငွေယူအောင်မြင်စွာစတင်ပါကထိုနည်းလမ်းသည်ပြန်လည်နေရာချထားခြင်းမရှိပါ။ အကယ်. မအောင်မြင်ပါက PDO သည်ခြွင်းချက်တစ်ခုချလိမ့်မည်။ ထို့ကြောင့်ငွေပေးငွေယူကိုအောင်မြင်စွာစတင်ခြင်းရှိမရှိဆုံးဖြတ်ရန်သာမန်နည်းလမ်းမှာခြွင်းချက်များကိုဖမ်းယူခြင်းအားဖြင့်ဖြစ်သည်။
ကြိုးစားကြည့်ပါ ... ဖြစ်နိုင်ချေရှိသောခြွင်းချက်များကိုဖမ်းရန်ဖမ်းမိသည့် ကြေညာချက် ကိုဖမ်းယူနိုင်ရန်, ငွေပေးငွေယူသည်မအောင်မြင်ပါက PDO သည်ခြွင်းချက်တစ်ခုချလိမ့်မည်။
try {
$pdo->beginTransaction();
echo "ငွေပေးငွေယူအောင်မြင်စွာစတင်သည်!";
} catch (PDOException $e) {
echo "ငွေပေးငွေယူ start ပျက်ကွက်: " . $e->getMessage();
}
ဤနည်းအားဖြင့်ငွေပေးငွေယူကိုအောင်မြင်စွာစတင်ခြင်းရှိမရှိကိုထိရောက်စွာအကဲဖြတ်နိုင်ရန်ဖြစ်နိုင်ပြီးအသေးစိတ်အချက်အလက်များအပေါ် အခြေခံ. အသေးစိတ်အချက်အလက်များကိုပြုလုပ်နိုင်သည်။
PDO သည်လက်ရှိတက်ကြွသောငွေပေးငွေယူရှိမှုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုနိုင်သည့် Intringactacate () နည်းလမ်းကိုလည်းထောက်ပံ့ပေးသည်။ ငွေပေးငွေယူကိုစတင်ခဲ့ပါက Intransaction () ပြန်လည်ထူထောင် ခြင်းနှင့်နောက်သို့မပြန်ပါက ပြန်လည်ထူထောင် ခြင်းမဟုတ်ပါ,
$pdo->beginTransaction();
if ($pdo->inTransaction()) {
echo "ငွေပေးငွေယူအောင်မြင်စွာစတင်ခဲ့သည်!";
} else {
echo "ငွေပေးငွေယူ start ပျက်ကွက်!";
}
သတိပြုသင့်သည်မှာထို intrainactionaction () သည် ငွေပေးငွေယူသည်လှုပ်ရှားမှုကိုသာစစ်ဆေးနိုင်သော်လည်း beginransaction () ကိုအောင်မြင်စွာခေါ်ခြင်းရှိမရှိကိုတိုက်ရိုက်မဆုံးဖြတ်နိုင်ပါ။ ထို့ကြောင့်ကျွန်ုပ်တို့သည်များသောအားဖြင့်ငွေပေးငွေယူတိုးတက်မှု၏ရလဒ်များကိုအတည်ပြုရန်ချွင်းချက်ဖမ်းယူရန်ပေါင်းစပ်ရန်လိုအပ်သည်။
အချို့ ဖြစ်ရပ်များတွင်, ဤတွင်အချို့သောဘုံအကြောင်းပြချက်များ:
ဒေတာဘေ့စ်ဆက်သွယ်မှုမအောင်မြင်ပါ။ ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုယ်နှိုက်နှင့်ပြ a နာရှိပါက begintransaction () သည် ခြွင်းချက်တစ်ခုချလိမ့်မည်။
ဒေတာဘေ့စ်အင်ဂျင်သည်အရောင်းအ 0 ယ်များကိုထောက်ပံ့ခြင်းမပြုပါ ။
ဒေတာဘေ့စ်ကိုဖတ်ရန်တစ်ခုတည်းသော mode တွင်ရှိသည် - ဒေတာဘေ့စ်သည်ဖတ်ရန်တစ်ခုတည်းသော mode ကိုမဖွင့်ပါကငွေပေးငွေယူကိုမစတင်ပါက BeginTransaction () ချွင်းချက်ချလိမ့်မည်။
ဤပြ problems နာများကိုဖြေရှင်းရန်ဤပြ problems နာများကိုဖြေရှင်းရန်အမှားအယွင်းများကိုခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
try {
$pdo->beginTransaction();
} catch (PDOException $e) {
echo "ငွေပေးငွေယူ start ပျက်ကွက်: " . $e->getMessage();
}
တိကျသောအမှားအချက်အလက်များကိုပြ the နာကိုထပ်မံရှာဖွေရန် $ E-> GetMessage () မှတဆင့်ရနိုင်သည်။
PODO ထုတ်ခေါင်ဒေသကိုအောင်မြင်စွာစတင်နိုင်မလားဆိုတာကိုဆုံးဖြတ်ရန်အကောင်းဆုံးနည်းလမ်းမှာခြွင်းချက်များကိုဖမ်းယူခြင်းဖြင့်ကိုင်တွယ်ရန်ဖြစ်သည်။ beginatransaction () ခြွင်းချက်တစ်ခုချထားပါကငွေပေးငွေယူသည်မအောင်မြင်ဟုဆိုလိုသည်။ အကယ်. ချွင်းချက်မချမိပါကငွေပေးချေမှုသည် Intransaction မှတဆင့်တက်ကြွစွာလုပ်ဆောင်သည်ကိုထပ်မံအတည်ပြုနိုင်သည်။ ဤနည်းလမ်းနှစ်ခုကိုပေါင်းစပ်ခြင်းသည်ငွေပေးငွေယူအောင်မြင်မှုရှိမရှိကိုပိုမိုတိကျစွာဆုံးဖြတ်နိုင်သည်။
ငွေပေးငွေယူစီမံခန့်ခွဲမှုသည်ဒေတာဆိုင်ရာအသစ်ပြောင်းခြင်းများပါ 0 င်သည့်အနေဖြင့် Data update များပါ 0 င်သည့်အတွက်အရောင်းအ 0 ယ်များကိုအသုံးပြုခြင်းသည်အချက်အလက်ရှေ့နောက်ညီညွတ်မှုကိုအသုံးပြုသည်ကိုသတိရပါ။