လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement နှင့် တွဲဖက်. လုပ်ဆောင်မှုများကို update လုပ်ရန်သို့မဟုတ်ဖျက်ရန်မည်သို့ပြုလုပ်ရမည်နည်း :: Rowcount

PDostatement နှင့် တွဲဖက်. လုပ်ဆောင်မှုများကို update လုပ်ရန်သို့မဟုတ်ဖျက်ရန်မည်သို့ပြုလုပ်ရမည်နည်း :: Rowcount

gitbox 2025-05-28

ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP အတွက် PHP ကိုအသုံးပြုသောအခါ PDO (PHP Data Obserts) သည် database နှင့်ချိတ်ဆက်ရန်နှင့် SQL Queries များကိုချိတ်ဆက်ရန်ပြောင်းလွယ်ပြင်လွယ်။ အားကောင်းသောနည်းလမ်းဖြစ်သည်။ အထူးသဖြင့်ထုတ်ပြန်ချက်များကို မွမ်းမံခြင်း နှင့် ဖျက်ခြင်း အတွက်ကျွန်ုပ်တို့သည်ဤဖော်ပြချက်များကိုအောင်မြင်စွာအောင်မြင်စွာလုပ်ဆောင်ခြင်းရှိမရှိစစ်ဆေးရန်လိုအပ်သည်။ PDostatement :: Rowcount () သည် update သို့မဟုတ် ဖျက်ခြင်း သည်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည့်အလွန်အသုံးဝင်သောနည်းလမ်းဖြစ်သည်။

PDostatement ဆိုတာဘာလဲ :: Rowcount () ?

PDostatement :: Rowcount () နည်းလမ်းသည်နောက်ဆုံး SQL လည်ပတ်မှုကြောင့် (ဥပမာအားဖြင့် ထည့်ခြင်း , update , ဖျက်ခြင်း , စုံစမ်းမှုသည်တရားဝင်မှုဟုတ်မဟုတ်ဆုံးဖြတ်ရန်အလွန်အသုံးဝင်သည် (I.E. သည်ဒေတာဘေ့စ်တွင်အချက်အလက်များကိုပြောင်းလဲစေခြင်းရှိမရှိ) ။ ပြန်လာသောအတန်းအရေအတွက်သည် 0 ထက်ကြီးပါကများသောအားဖြင့်စစ်ဆင်ရေးအောင်မြင်သည်ဟုဆိုလိုသည်။

update ကို သို့မဟုတ် ဖျက်ခြင်း အောင်မြင်မှုရှိမရှိမည်သို့ပြောရမည်နည်း။

update ကို စစ်ဆင်ရေးဆုံးဖြတ်ရန် Rowcount ကို သုံးပါ

 <?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 ဖြစ်ပါကအခြေအနေများနှင့်ကိုက်ညီသောမှတ်တမ်းများမရှိပါကအချက်အလက်များမရှိသေးပါ။

Delete စစ်ဆင်ရေးဆုံးဖြတ်ရန် Rowcount ကို သုံးပါ

 <?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 () သည် အသစ်ပြောင်းခြင်း သို့မဟုတ် ဖျက်ခြင်း သည်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်အတိုချုပ်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ထိခိုက်သောအတန်းအရေအတွက်ကိုအကဲဖြတ်ခြင်းအားဖြင့်သင်သည်ခွဲစိတ်မှု၏ရလဒ်များကိုနားလည်နိုင်ပြီးလိုအပ်သည့်အတိုင်းထပ်မံလုပ်ဆောင်နိုင်သည်။ သို့သော်အတန်းတစ်ခုတည်းဖြင့်အောင်မြင်မှုရရန်ဆုံးဖြတ်ချက်ချခြင်းသည်အမြဲတမ်းယုံကြည်စိတ်ချရသောအတန်းများအမြဲတမ်းယုံကြည်စိတ်ချရမှုမရှိနိုင်ကြောင်းသတိပြုရန်အရေးကြီးသည်။