ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PDO ကိုအသုံးပြုသောအခါငွေပေးချေမှုအပြောင်းအလဲသည်အလွန်အရေးကြီးသောယန္တရားတစ်ခုဖြစ်သည်။ အရောင်းအ 0 ယ်များသည်များသောအားဖြင့် beginransacingacingaction () , အချို့သော SQL operations များကိုလုပ်ဆောင်သည့်အခါတစ်ခါတစ်ရံတွင်အချို့သောအခြေအနေများအပေါ် အခြေခံ. ငွေပေးငွေယူကိုပြန်လှိမ့်ရန်ဆုံးဖြတ်ရန်လိုအပ်သည်။ ဤအချိန်တွင် pdostatement :: Rowcount function ကိုအသုံးဝင်သည်။
PDostatement :: Rowcount သည် ယခင် SQL ထုတ်ပြန်ကြေငြာချက်ကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုပြန်ပို့နိုင်သည်။ ၎င်းကိုအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်စစ်ဆင်ရေးသည်အောင်မြင်မှုရှိမရှိကိုထိရောက်စွာဆုံးဖြတ်နိုင်သည်။
ဒေတာဘေ့စ်လုပ်ငန်း၏ရလဒ်များကိုဆုံးဖြတ်ရန် Rowcount ကို မည်သို့အသုံးပြုရမည်ကိုပြသသည့်ဥပမာတစ်ခုမှာလိုအပ်ပါကအရောင်းအ 0 ယ်များကိုပြန်လှိမ့်ချထားသည်။
<?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
// ဖန်တီးPDOကန့်ကွက်
try {
$pdo = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
die('Connection failed: ' . $e->getMessage());
}
// ငွေပေးငွေယူတစ်ခုစတင်ပါ
$pdo->beginTransaction();
try {
// ပထမတစ်ခု executeSQLခဲှစိတ်ကုသ
$stmt1 = $pdo->prepare('UPDATE users SET balance = balance - 100 WHERE id = :id');
$stmt1->execute(['id' => 1]);
// ထိခိုက်သောအတန်းအရေအတွက်ကိုစစ်ဆေးပါ
if ($stmt1->rowCount() == 0) {
// အဘယ်သူမျှမအတန်း updated လျှင်,ငွေပေးငွေယူပြန်လှိမ့်
throw new Exception('အသစ်ပြောင်းခြင်းမအောင်မြင်ပါ,အသုံးပြုသူလက်ကျန်ငွေမလုံလောက်');
}
// ဒုတိယ executeSQLခဲှစိတ်ကုသ
$stmt2 = $pdo->prepare('INSERT INTO transactions (user_id, amount) VALUES (:user_id, :amount)');
$stmt2->execute(['user_id' => 1, 'amount' => -100]);
// 检查第二个ခဲှစိတ်ကုသ的影响行数
if ($stmt2->rowCount() == 0) {
// သွင်းမအောင်မြင်ပါက,ပြန်အရောင်းအလှိမ့်
throw new Exception('ငွေပေးငွေယူစံသတ်မှတ်ချက်မအောင်မြင်ပါ');
}
// အရာအားလုံးအဆင်ပြေလျှင်,တင်သွင်းမှုတင်သွင်း
$pdo->commit();
echo "ငွေပေးငွေယူတင်သွင်းမှုအောင်မြင်သော!";
} catch (Exception $e) {
// 出现异常时ပြန်အရောင်းအလှိမ့်
$pdo->rollBack();
echo "ငွေပေးငွေယူ Loverback,အမှားသတင်းစကား: " . $e->getMessage();
}
?>
အရောင်းအဖွင့်ခြင်းနှင့်ကျူးလွန်ခြင်း <br> ငွေပေးငွေယူကိုစတင်ရန် $ pdo-> beginningactransaction ( ) ကို သုံးပါ။ ငွေပေးချေမှုကိုကျူးလွန်ရန်အသုံးပြုသည်။ မည်သည့်ပြ problems နာများပေါ်ပေါက်လာပါက $ pdo-> Rollback () ကို အသုံးပြု. ငွေပေးငွေယူကိုပြန်လှိမ့်မည်။
ဆုံးဖြတ်ချက်ချရန် Rowcount ကို သုံးပါ SQL operation တစ်ခုစီပြီးနောက်ကျွန်ုပ်တို့သည်စစ်ဆင်ရေးအောင်မြင်မှုရှိမရှိစစ်ဆေးရန် $ stmt-> Rowcount () ကို အသုံးပြုသည်။ ဥပမာအားဖြင့်, မွမ်းမံချက် ကြေငြာချက်သည်မည်သည့်အတန်း (I.E. မလုံလောက်ခြင်းသို့မဟုတ်အခြေအနေများမလုံလောက်ခြင်းသို့မဟုတ်အခြေအနေများမညီမျှမှု) ကိုမွမ်းမံပါက၎င်းကို Rowcount () Rougcount () ပြန်လည်ထူထောင်ခြင်းဖြင့်ဆုံးဖြတ်နိုင်သည်။
ခြွင်းချက်ကိုင်တွယ် Try-catch statement မှတစ်ဆင့်ကျွန်ုပ်တို့သည်မည်သည့်ခြွင်းချက်ကိုမဆိုဖမ်းယူပြီးငွေပေးငွေယူကိုပြန်လှိမ့်လိုက်သည်။ Rowcount () သည် 0 င်သို့မဟုတ်အခြားအမှားများကိုပြန်လည်ရောက်ရှိပါက ချွင်းချက်အသစ် () ကို ချွင်းချက်ချရန်အစပျိုးလိမ့်မည်။
ဒေတာဘေ့စ်လည်ပတ်မှု၏ယုံကြည်စိတ်ချရ ဒေတာဘေ့စ်လည်ပတ်မှုအနုမြူလုပ်ငန်းကိုသေချာစေရန်ငွေပေးငွေယူလုပ်ဆောင်မှုကိုအသုံးပြုပါ။ ခြွင်းချက်တစ်ခုဖြစ်ပေါ်လျှင်ပင်ငွေပေးချေမှု၏ Rollback သည်ဒေတာဘေ့စ်၏ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေသည်။
Rowcount () function သည်အလွန်အသုံး 0 င်သည်။ အကယ်. SQL ကြေငြာချက်သည်မည်သည့်အတန်းကိုမဆိုပြုပြင်မွမ်းမံပါက ROWCOUT () သည် 0 ပြန်လာလိမ့်မည်။ Regrocount ၏တန်ဖိုးကို အခြေခံ. ငွေပေးငွေယူကိုပြန်လှိမ့်ရန်မည်သည့်ငွေပေးငွေယူကိုပြန်လှိမ့်ရန်မသင့်ဆုံးဖြတ်နိုင်သည်။
ဥပမာအားဖြင့်ဘဏ်လွှာစစ်ဆင်ရေးတွင်အကောင့်လက်ကျန်ငွေကိုအသစ်ပြောင်းခြင်းနှင့်ငွေပေးငွေယူသည့်သမိုင်းကိုအောင်မြင်စွာထည့်သွင်းခြင်းရှိမရှိကိုကျွန်ုပ်တို့စစ်ဆေးသည်။ အဆင့်မအောင်မြင်ပါကငွေပေးငွေယူသည်အချက်အလက်များ၏ရှေ့နောက်ညီညွတ်မှုနှင့်သမာဓိကိုထိန်းသိမ်းခြင်းကိုပြန်လည်လှိမ့်ချလိမ့်မည်။
PDostatement :: Rowcount နှင့် Definition စီမံခန့်ခွဲမှုများကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်လုပ်ငန်းများကို PHP applications များတွင်ထိရောက်စွာနှင့်ယုံကြည်စိတ်ချစွာလုပ်ဆောင်နိုင်ပါသည်။ RORCOUT () SQL စစ်ဆင်ရေးများသည်အောင်မြင်မှုရှိမရှိတရားစီရင်ခြင်းကိုအရေးယူရန်အရေးကြီးသောနည်းလမ်းများဖြင့်ကျွန်ုပ်တို့ကိုထောက်ပံ့ပေးသည်။ ပြ Proble နာများပေါ်ပေါက်လာပြီးသည်နှင့်၎င်းတို့အားအချက်အလက်အမှားများကိုရှောင်ရှားရန်အချိန်တန်ပြီ။
ဤနည်းလမ်းကိုအခြေအနေများ, စာရင်းစနစ်များ, စာရင်းစီမံခန့်ခွဲမှုစနစ်များစသည့်ဒေတာရှေ့နောက်ညီညွတ်မှုလိုအပ်သည့်နေရာများတွင်ကျယ်ပြန့်စွာအသုံးပြုနိုင်သည်။