လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ထည့်သွင်းလည်ပတ်မှုတစ်ခုတွင်သက်ဆိုင်ရာအတန်းအရေအတွက်ကိုမည်သို့ရနိုင်ပြီးသက်ဆိုင်ရာစစ်ဆင်ရေးကိုလုပ်ဆောင်ရန်

ထည့်သွင်းလည်ပတ်မှုတစ်ခုတွင်သက်ဆိုင်ရာအတန်းအရေအတွက်ကိုမည်သို့ရနိုင်ပြီးသက်ဆိုင်ရာစစ်ဆင်ရေးကိုလုပ်ဆောင်ရန်

gitbox 2025-05-29

PHP ကို ​​အသုံးပြု. ဒေတာဘေ့စ်များကို operating လုပ်သည့်အခါ PDO သည် SQL Query များကိုလုပ်ဆောင်ရန်စွမ်းဆောင်နိုင်စွမ်းရှိသောစွမ်းရည်များကိုပေးသည်။ Insert လုပ်ငန်းများလုပ်ဆောင်ခြင်းကိုလုပ်ဆောင်သောအခါဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ကိုနားလည်ခြင်းသည်နောက်ဆက်တွဲအပြောင်းအလဲအတွက်အလွန်အရေးကြီးသည်။ PDostatement :: Rowcount () နည်းလမ်းသည် SQL ကိုကွပ်မျက်ခံရပြီးနောက်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုရရှိရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် PDO ကို အသုံးပြု. ထည့် သွင်း ခြင်းနှင့်ရလဒ်ပေါ် မူတည်. ၎င်းတို့အားလုပ်ဆောင်ရန်အတွက် Rowcount ကိုအသုံးပြုရန် RowCount ကို အသုံးပြုရန်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။

1 ။ ရိုးရှင်းသော Insert စစ်ဆင်ရေး

ပထမ ဦး စွာသင်သည်ဒေတာဘေ့ ်နှင့်ချိတ်ဆက်ထားပြီးထည့်သွင်းရန်အဆင်သင့်ဖြစ်အောင်လုပ်ပါ။ ဒီမှာရိုးရှင်းတဲ့ Insert စစ်ဆင်ရေးဖြစ်ပါတယ်:

 <?php
// ဒေတာဘေ့စ် connection configuration ကို
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';

try {
    // ဖန်တီး PDO နမူနာ
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // ဒေတာထည့်သွင်းရန်အဆင်သင့် SQL အသေအချာပေြာဆိုချက်
    $sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
    $stmt = $pdo->prepare($sql);

    // parameters တွေကိုချည်ထား
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':email', $email);

    // နမူနာဒေတာ
    $name = 'John Doe';
    $email = '[email protected]';

    // ကရိယာတန်းဆာ INSERT ခဲှစိတ်ကုသ
    $stmt->execute();

    // ထိခိုက် rigs ၏အရေအတွက်ကိုရယူပါ
    $affectedRows = $stmt->rowCount();
    
    // output အားဖြင့်ထိခိုက်အတန်းအရေအတွက်
    echo "ထည့်ပါ $affectedRows လိုင်းဒေတာ\n";

} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
?>

2 ။ PDostatement :: Rowcount ()

အထက်ပါကုဒ်တွင် ဒေါ်လာ stmt-> execute () သည် ထည့် သွင်း မှုတစ်ခုပြုလုပ်သည်။ Insert စစ်ဆင်ရေးများတွင်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်မှာထည့်သွင်းထားသောမှတ်တမ်းများ။ အရာအားလုံးအဆင်ပြေမယ်ဆိုရင်ပြန်လာတဲ့တန်ဖိုးက 1 ဖြစ်သင့်တယ်။

3 ။ ကွဲပြားခြားနားသောအပြောင်းအလဲနဲ့ Rowcount ၏ရလဒ်အရအရလုပ်ဆောင်သည်။

ထို့နောက်ကျွန်ုပ်တို့သည် Rowcount () ပြန်လည်ရောက်ရှိသောတန်ဖိုးကို အခြေခံ. ကွဲပြားခြားနားသောအပြောင်းအလဲကိုပြုလုပ်နိုင်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်ဤ REVAT valid ကို သုံး. ဒေတာများကိုအောင်မြင်စွာဖြည့်စွက်ခြင်းရှိမရှိဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:

 <?php
if ($affectedRows > 0) {
    echo "ဒေတာသွင်းအောင်မြင်စွာ!\n";
} else {
    echo "ဒေတာသွင်း!\n";
}
?>

4 ။ ပြီးပြည့်စုံသောကုဒ်

အထက်ပါဥပမာနှင့်ပေါင်းစပ်ပြီး, သွင်းယူရလဒ်အပေါ်အညီအညီဆောင်ရွက်ရန်သေချာစေရန်ကျွန်ုပ်တို့လုပ်ငန်းစဉ်တစ်ခုလုံးကိုအတူတကွထားနိုင်သည်။

 <?php
// ဒေတာဘေ့စ် connection configuration ကို
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';

try {
    // ဖန်တီး PDO နမူနာ
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // ဒေတာထည့်သွင်းရန်အဆင်သင့် SQL အသေအချာပေြာဆိုချက်
    $sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
    $stmt = $pdo->prepare($sql);

    // parameters တွေကိုချည်ထား
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':email', $email);

    // နမူနာဒေတာ
    $name = 'John Doe';
    $email = '[email protected]';

    // ကရိယာတန်းဆာ INSERT ခဲှစိတ်ကုသ
    $stmt->execute();

    // ထိခိုက် rigs ၏အရေအတွက်ကိုရယူပါ
    $affectedRows = $stmt->rowCount();

    // ကွဲပြားခြားနားသောအပြောင်းအလဲနဲ့ထိခိုက် rips အရေအတွက်အရသိရသည်ဖျော်ဖြေသည်
    if ($affectedRows > 0) {
        echo "ဒေတာသွင်းအောင်မြင်စွာ!\n";
    } else {
        echo "ဒေတာသွင်း!\n";
    }

} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
?>

5 ။ မှတ်စုဖို့အရာ

  • Rowcount () သည်ဒေတာဘေ့စ်လုပ်ငန်းများနှင့်သက်ဆိုင်ခြင်းမရှိပါ။ ဥပမာအားဖြင့်အချို့သောဒေတာဘေ့စ်စီမံခန့်ခွဲမှုစနစ်များ (ထိုကဲ့သို့သော MySQL ကဲ့သို့သော) သည်ဒေတာဖြည့်စွက်ချက်မရှိပါကပင် ထည့် သွင်းမှုတစ်ခုတွင်အမြဲတမ်း 1 ဖြစ်သည့်တန်ဖိုးကိုပြန်ပို့သည်။ ဤအခြေအနေသည်ဒေတာဘေ့စ်၏တိကျသောအကောင်အထည်ဖော်မှုအပေါ်မူတည်သည်။

  • rows အရေအတွက်ကိုမထိခိုက်သောစစ်ဆင်ရေးအတွက် rowcount () သည် 0 င ်ရောက်နိုင်သည်။ ထို့ကြောင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချက်အလက်များကိုတိကျမှန်ကန်သောထည့်သွင်းရန် SQL ကိုအကောင်အထည်ဖော်ရန်အတွက်ပြန်ပြောင်းတန်ဖိုးကိုစစ်ဆေးရန်အကြံပြုသည်။

နိဂုံးချုပ်အားဖြင့်

PDostatement :: Rowcount () နည်းလမ်းသည် Insert လည်ပတ်မှုတစ်ခုပြုလုပ်ပြီးနောက်အလွန်အသုံးဝင်သည်။ developer များသည်အချက်အလက်များကိုအောင်မြင်စွာဖြည့်စွက်ခြင်းရှိမရှိစစ်ဆေးရန်ကူညီနိုင်သည်။ ကွဲပြားခြားနားသောအပြောင်းအလဲနဲ့လုပ်ခြင်းအားဖြင့် Regcount ၏တန်ဖိုးအရသိရသည်,