ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP အတွက် PHP ကိုအသုံးပြုသောအခါ PDO (PHP Data Obserts) သည် database နှင့်ချိတ်ဆက်ရန်နှင့် SQL Queries များကိုချိတ်ဆက်ရန်ပြောင်းလွယ်ပြင်လွယ်။ အားကောင်းသောနည်းလမ်းဖြစ်သည်။ အထူးသဖြင့်ထုတ်ပြန်ချက်များကို မွမ်းမံခြင်း နှင့် ဖျက်ခြင်း အတွက်ကျွန်ုပ်တို့သည်ဤဖော်ပြချက်များကိုအောင်မြင်စွာအောင်မြင်စွာလုပ်ဆောင်ခြင်းရှိမရှိစစ်ဆေးရန်လိုအပ်သည်။ PDostatement :: Rowcount () သည် update သို့မဟုတ် ဖျက်ခြင်း သည်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည့်အလွန်အသုံးဝင်သောနည်းလမ်းဖြစ်သည်။
PDostatement :: Rowcount () နည်းလမ်းသည်နောက်ဆုံး SQL လည်ပတ်မှုကြောင့် (ဥပမာအားဖြင့် ထည့်ခြင်း , update , ဖျက်ခြင်း , စုံစမ်းမှုသည်တရားဝင်မှုဟုတ်မဟုတ်ဆုံးဖြတ်ရန်အလွန်အသုံးဝင်သည် (I.E. သည်ဒေတာဘေ့စ်တွင်အချက်အလက်များကိုပြောင်းလဲစေခြင်းရှိမရှိ) ။ ပြန်လာသောအတန်းအရေအတွက်သည် 0 ထက်ကြီးပါကများသောအားဖြင့်စစ်ဆင်ရေးအောင်မြင်သည်ဟုဆိုလိုသည်။
<?php
try {
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ကရိယာတန်းဆာ UPDATE ခဲှစိတ်ကုသ
$sql = "UPDATE users SET email = :email WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':email', $newEmail);
$stmt->bindParam(':id', $userId);
// သငျသညျဤ variable တွေကိုများအတွက်တန်ဖိုးများထားရှိသည်ဆိုပါစို့
$newEmail = '[email protected]';
$userId = 1;
$stmt->execute();
// အသုံးပြု rowCount ရဲ့ UPDATE အောင်မြင်သော
if ($stmt->rowCount() > 0) {
echo "အောင်မြင်စွာအသစ်ပြောင်းခြင်း!";
} else {
echo "အဘယ်သူမျှမဒေတာကို updated ခဲ့တာဖြစ်ပါတယ်!";
}
} catch (PDOException $e) {
echo "အမှား: " . $e->getMessage();
}
?>
ဤဥပမာတွင်ကျွန်ုပ်တို့သည် rowcount () ကို အဆင့်မြှင့်တင်ခြင်း ကိုအောင်မြင်စွာလုပ်ဆောင်သည်ကိုဆုံးဖြတ်ရန်အသုံးပြုသည်။ အကယ်. ပြန်လာသောတန်ဖိုးသည် 0 ထက်ကြီးပါကအနည်းဆုံးဒေတာအနည်းဆုံးအတန်းကိုအသစ်ပြောင်းခြင်းကိုဆိုလိုသည်။ Return Value သည် 0 ဖြစ်ပါကအခြေအနေများနှင့်ကိုက်ညီသောမှတ်တမ်းများမရှိပါကအချက်အလက်များမရှိသေးပါ။
<?php
try {
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'username', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ကရိယာတန်းဆာ DELETE ခဲှစိတ်ကုသ
$sql = "DELETE FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $userId);
// သင် variable ကိုများအတွက်တန်ဖိုးကိုသတ်မှတ်ထားသည်ဆိုပါစို့
$userId = 1;
$stmt->execute();
// အသုံးပြု rowCount ရဲ့ DELETE အောင်မြင်သော
if ($stmt->rowCount() > 0) {
echo "အောင်မြင်စွာဖျက်ပါ!";
} else {
echo "ဒေတာများကိုဖျက်ပစ်မည်မဟုတ်ပါ!";
}
} catch (PDOException $e) {
echo "အမှား: " . $e->getMessage();
}
?>
ဤဥပမာအားဖြင့်ဥပမာ အားဖြင့် ကျွန်ုပ်တို့သည်ဖျက်ခြင်းလုပ်ငန်း၏အကျိုးသက်ရောက်မှုကိုစစ်ဆေးရန် Rowcount () နည်းလမ်းကိုလည်းအသုံးပြုသည်။ အကယ်. ပြန်လာတန်ဖိုးသည် 0 ထက်ကြီးပါကအနည်းဆုံးအချက်အလက်အနည်းဆုံးအတန်းကိုဖျက်ပစ်လိုက်သည်ဟုဆိုလိုသည်။ 0 ကိုပြန်လာလျှင်၎င်းသည်သတ်မှတ်ချက်များနှင့်ကိုက်ညီသောမှတ်တမ်းများမရှိသည့်အတွက်မည်သည့်အချက်အလက်မျှမဖျက်နိုင်ပါ။
အတန်းအရေအတွက်သည်အောင်မြင်မှုနှင့်တန်းတူမဟုတ်ပါ ။ Rowcount () သည် သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုသာပြန်လည်ပေးပြီးစစ်ဆင်ရေးအောင်မြင်မှုရှိမရှိတစ်ခုတည်းသောသတ်မှတ်ချက်အဖြစ်တိုက်ရိုက်အသုံးမပြုပါ။ ဥပမာအားဖြင့်, ယုတ္တိရှိသောအမှားတစ်ခုဖြစ်နိုင်သည်။
ငွေပေးချေမှုအပြောင်းအလဲအတွက် - အဆင့်မြှင့် တင်ခြင်းသို့မဟုတ် ဖျက်ခြင်း သည်ဒေတာရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန်အရောင်းအ 0 ယ်များကိုအသုံးပြုရန်အကောင်းဆုံးဖြစ်သည်။ ငွေပေးငွေယူကကျူးလွန်မှုပျက်ကွက်လျှင် RORCOUT () သည် စစ်ဆင်ရေးအောင်မြင်ခဲ့ကြောင်းပြသပါကနောက်ဆုံးရလဒ်သည်မျှော်လင့်ထားသည့်အတိုင်းမဖြစ်နိုင်ပါ။
PDostatement :: Rowcount () သည် အသစ်ပြောင်းခြင်း သို့မဟုတ် ဖျက်ခြင်း သည်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်အတိုချုပ်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ထိခိုက်သောအတန်းအရေအတွက်ကိုအကဲဖြတ်ခြင်းအားဖြင့်သင်သည်ခွဲစိတ်မှု၏ရလဒ်များကိုနားလည်နိုင်ပြီးလိုအပ်သည့်အတိုင်းထပ်မံလုပ်ဆောင်နိုင်သည်။ သို့သော်အတန်းတစ်ခုတည်းဖြင့်အောင်မြင်မှုရရန်ဆုံးဖြတ်ချက်ချခြင်းသည်အမြဲတမ်းယုံကြည်စိတ်ချရသောအတန်းများအမြဲတမ်းယုံကြည်စိတ်ချရမှုမရှိနိုင်ကြောင်းသတိပြုရန်အရေးကြီးသည်။