PHP ပရိုဂရမ်တွင် PDO (PHP Data Obserts) တွင်အလွန်အစွမ်းထက်သောဒေတာဘေ့စ် Access အလွှာတစ်ခုဖြစ်သည်။ PDO သည်အသုံး 0 င်သည့်လုပ်ဆောင်ချက်များစွာကိုထောက်ပံ့ပေးသည် ။ ဤဆောင်းပါးသည် PDostatement ၏အခန်းကဏ် role ကိုအသေးစိတ်ဆွေးနွေးရန် :: Rowcount () ကို ငွေသွင်းယူမှုလုပ်ငန်းများ၌ဖော်ပြထားသည်။
PDostatement :: Rowcount () သည်မကြာသေးမီကကွပ်မျက်ခံရသော SQL ထုတ်ပြန်ကြေငြာချက်ကိုထိခိုက်သောအတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိစေသည့် PDO ၏နည်းလမ်းတစ်ခုဖြစ်သည်။ အထူးသဖြင့်သင်သည်ဒေတာဇယားကိုအကျိုးသက်ရောက်နိုင်သည့်ထည့်သွင်းခြင်း, update, ဖျက်ခြင်းသို့မဟုတ်အခြား SQL ကြေငြာချက်ကိုလုပ်ဆောင်သောအခါ ROWCount () နည်းလမ်းသည်အကျိုးသက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုပြန်ပို့သည်။
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ငွေပေးငွေယူတစ်ခုစတင်ပါ
$pdo->beginTransaction();
// update ကိုစစ်ဆင်ရေးလုပ်ဆောင်ပါ
$stmt = $pdo->prepare("UPDATE users SET email = :email WHERE id = :id");
$stmt->execute([':email' => '[email protected]', ':id' => 1]);
// ထိခိုက်သောအတန်းအရေအတွက်ကိုရယူပါ
echo "ထိခိုက်အတန်းအရေအတွက်: " . $stmt->rowCount();
// တင်သွင်းမှုတင်သွင်း
$pdo->commit();
} catch (Exception $e) {
// ပြန်အရောင်းအလှိမ့်
$pdo->rollBack();
echo "အမှား: " . $e->getMessage();
}
?>
အထက်ဖော်ပြပါဥပမာတွင် UPDATE စစ်ဆင်ရေးကိုလုပ်ဆောင်သောအခါ ဒေါ်လာ stmt-> Rowcount () သည် update လုပ်သည့်အတန်းအရေအတွက်ကိုပြန်ပို့သည်။ ဤတန်ဖိုးကို အခြေခံ. အမှန်တကယ် update ကိုစစ်ဆင်ရေးကိုလုပ်ဆောင်ခြင်းရှိမရှိကိုသင်ဆုံးဖြတ်နိုင်သည်။
အရောင်းအ 0 ယ်လုပ်ငန်းများတွင် Rowcount () နည်းလမ်းသည်အလွန်အရေးကြီးသောကဏ် plays မှပါ 0 င်သည်။
ခွဲစိတ်ကုသမှုအောင်မြင်ရန်အတည်ပြုပါ။ ဒေတာဘေ့စ်၏လုပ်ဆောင်မှုများစွာကိုလုပ်ဆောင်သောအခါ RORCOUT () ကို သုံးနိုင်သည်။ Rowcount () သည် 0 သို့ပြန်လာလျှင်၎င်းသည်ဒေတာကိုပြုပြင်မွမ်းမံခြင်းဟုဆိုလိုသည်။ ဤအချိန်တွင်သင်သည်ငွေပေးငွေယူကိုပြန်လှိမ့်ရန်သို့မဟုတ်အခြားစစ်ဆင်ရေးများကိုဆက်လက်လုပ်ဆောင်ရန်ရွေးချယ်နိုင်သည်။
CONCHIMETIMEMICT သို့မဟုတ် ROLLBACK: ငွေပေးငွေယူတွင်ကျွန်ုပ်တို့သည်များသောအားဖြင့် SQL operations များစွာရှိသည်။ အကယ်. မည်သည့်စစ်ဆင်ရေးကိုမဆိုအောင်မြင်စွာမလုပ်ဆောင်နိုင်ပါက ( ထိုအရာသည် 0) 0) သည် 0 င်သည်။
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "password");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ငွေပေးငွေယူတစ်ခုစတင်ပါ
$pdo->beginTransaction();
// ပထမ ဦး ဆုံးအရေးယူဆောင်ရွက်မှုလုပ်ဆောင်ပါ
$stmt1 = $pdo->prepare("UPDATE users SET email = :email WHERE id = :id");
$stmt1->execute([':email' => '[email protected]', ':id' => 1]);
// မည်သည့်အတန်းကိုမွမ်းမံထားရှိမရှိစစ်ဆေးပါ
if ($stmt1->rowCount() == 0) {
throw new Exception("အတန်းများမွမ်းမံမှုများမရှိပါ,ပြန်အရောင်းအလှိမ့်");
}
// ဒုတိယစစ်ဆင်ရေးလုပ်ဆောင်ပါ
$stmt2 = $pdo->prepare("DELETE FROM users WHERE id = :id");
$stmt2->execute([':id' => 2]);
// Delete စစ်ဆင်ရေးကိုစစ်ဆေးပါ
if ($stmt2->rowCount() == 0) {
throw new Exception("အတန်းများကိုဖျက်ပစ်ခြင်းမရှိပါ,ပြန်အရောင်းအလှိမ့်");
}
// အားလုံးစစ်ဆင်ရေးအောင်မြင်သောလျှင်,တင်သွင်းမှုတင်သွင်း
$pdo->commit();
echo "ငွေပေးငွေယူတင်သွင်းခဲ့တာဖြစ်ပါတယ်";
} catch (Exception $e) {
// ပြန်အရောင်းအလှိမ့်
$pdo->rollBack();
echo "အမှား: " . $e->getMessage();
}
?>
ဒီဥပမာမှာအရစ်ကျတာကိုအရင်စပြီးလုပ်ဆောင်ချက်နှစ်ခုကိုလုပ်ဆောင်တယ်။ အကယ်. မည်သည့်စစ်ဆင်ရေးသည်ဒေတာဘေ့စ်ရှိဒေတာများကိုမထိခိုက်ပါကကျွန်ုပ်တို့သည်ချွင်းချက်တစ်ခုကိုချမှတ်ပြီးငွေပေးငွေယူကိုပြန်လှိမ့်ပါမည်။ ဤသည်သည်အရောင်းအ 0 ယ်တစ်လျှောက်လုံးတွင်စစ်ဆင်ရေးအားလုံးအောင်မြင်မှုရှိစေရန်သေချာသည်။
PDostatement :: Rowcount () သည်များစွာသောကိစ္စရပ်များတွင်အလွန်အသုံးဝင်သည်။ Rowcount () RORCOUT () မှရရှိသောတန်ဖိုးသည်အချို့သောဒေတာဘေ့စ်စနစ်များတွင်အမြဲတမ်းတိကျမှန်ကန်စွာမရှိမဖြစ်ဖြစ်နိုင်သည်။ ဥပမာအားဖြင့်အချို့သောကိစ္စရပ်များတွင် Rowcount () သည် ရွေးချယ်မှုရှာဖွေမှုတစ်ခုကိုကွပ်မျက်သည့်အခါမျှော်လင့်ထားသည့်အတန်းအရေအတွက်ကိုမပြန်နိုင်ပါ။ သို့မဟုတ်နည်းလမ်းအချို့ကိုဒေတာဘေ့စ်များတွင်မထောက်ပံ့နိုင်ပါ။ ထို့ကြောင့် RORCCOUT () ကို အသုံးပြုသောအခါဒေတာဗေ့စ်၏အပြုအမူကိုသေချာစွာနားလည်ရန်သေချာအောင်လုပ်ပါ။
PDostatement :: Rowcount () function သည် PDO အရောင်းအဝယ်လုပ်ငန်းများ၌အလွန်အရေးကြီးသောအခန်းကဏ် plays မှပါ 0 င်သည်။ Developer များသည် SQL စစ်ဆင်ရေးကိုအောင်မြင်စွာလုပ်ဆောင်နိုင်ပြီးငွေပေးချေမှုကိုကျူးလွန်ခြင်း, အရောင်းအ 0 ယ်များအသုံးပြုခြင်းကိုပေါင်းစပ်ခြင်းအားဖြင့် Rowcount () သည် ဒေတာဘေ့စ်လုပ်ငန်းများနှင့်အချက်အလက်သမာဓိရှိခြင်း၏ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေနိုင်သည်။ အချို့သောကိစ္စရပ်များတွင် Rowcount () သည်လုံးဝယုံကြည်စိတ်ချရသောမဖြစ်နိုင်ပါ။