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

PDostatement :: မတူညီသောဒေတာဘေ့စ်အမျိုးအစားများတွင် Rowcount ၏အပြုအမူခြားနားချက်

gitbox 2025-05-21

PHP ၏ PDO ၏ PDO (PHP Data Obserts) ကိုအသုံးပြုသောအခါ PDostatement :: Rowcount () သည်စစ်ဆင်ရေးအပေါ်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုရရှိရန်အသုံးပြုသောနည်းလမ်းတစ်ခုဖြစ်သည်။ သို့သော် developer များစွာသည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကွဲပြားခြားနားသော database များအကြား၎င်း၏အပြုအမူသည်သိသိသာသာကွဲပြားခြားနားသည်။ ဤဆောင်းပါးသည် rowcount ၏စွမ်းဆောင်ရည်ကို datcount ၏စွမ်းဆောင်ရည်ကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။

1 ။ Rowcount () ဘာလုပ်သလဲ။

PDO တွင် RORGOUT () နည်းလမ်းကိုများသောအားဖြင့်ယခင် SQL ကြေငြာချက်ကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုပြန်လည်ပေးရန်အသုံးပြုလေ့ရှိသည်။ ၎င်းသည်ပုံမှန်အားဖြင့်တိကျမှန်ကန်ပြီး ကြေငြာ ချက်ကို အသစ်ပြောင်းခြင်း , သို့သော် Select selecties များအတွက်, ၎င်း၏အပြုအမူသည်ဒေတာဘေ့စ်ယာဉ်မောင်းများအနေဖြင့်ကွဲပြားသည်။

ဥပမာ -

 <?php
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "user", "pass");
$stmt = $pdo->prepare("UPDATE users SET active = 1 WHERE last_login > :date");
$stmt->execute([':date' => '2024-01-01']);
echo $stmt->rowCount() . " rows updated.";
?>

2 ။ ကွဲပြားခြားနားသော databases အကြားကွဲပြားခြားနားမှု

1 ။ MySQL

  • Update / Delete / Insert : Rowcount () သည် တိကျမှန်ကန်သောနှင့်ခိုင်လုံသောအတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိသည်။

  • Select : default by ပုံမှန်အားဖြင့် Rowcount () သည် 0 ၏တန်ဖိုးကို 0 0 ပြန်ပို့သည်

2 ။ Postgresql

  • Select အပါအ 0 င် ထုတ်ပြန်ချက်များအားလုံးအတွက်များသောအားဖြင့်မှန်ကန်သောအတန်းအရေအတွက်ကိုပြန်ပို့နိုင်သည်။

  • ဖြစ်နိုင်ခြေအများစုအတွက်သင့်တော်သော်လည်းအချို့သောအမြင်များသို့မဟုတ်လုပ်ဆောင်ချက်များသည်အမူအကျင့်ကိုမတည်ငြိမ်မှုကိုဖြစ်စေနိုင်သည်။

3 ။ SQLite

  • MySQL နှင့်ဆင်တူသည်နှင့်ဆင်တူ ခြင်း , ဖြိုဖျက် ခြင်း ,

  • 0 များကိုများသောအားဖြင့် ရွေးချယ်ထားသော ထုတ်ပြန်ချက်များအတွက်ပြန်ပို့သည်။

4 ။ SQL server (pdo_sqlsrv မှတဆင့်)

  • ဖော်ပြချက်အမျိုးမျိုးကို ရွေးချယ်ခြင်း အပါအ 0 င် above rigs အရေအတွက်ကိုပြန်ပို့ရန်ထောက်ပံ့သည်။

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

  1. Select ၏ Rowcount ကိုအားမကိုးပါနှင့် ()

    • ဒေတာဘေ့စ်ယာဉ်မောင်းအထောက်အပံ့ကိုသင်ရှင်းရှင်းလင်းလင်းမသိရှိပါက Fetchall ( ) ကိုအသုံးပြုရန်အကြံပြုသည်။

     $stmt = $pdo->query("SELECT * FROM users");
    $rows = $stmt->fetchAll();
    echo count($rows) . " rows selected.";
    
  2. Rowcount ပြီးနောက် execute ကိုအသုံးပြုရန်ကြိုးစားပါ

    • ပြင်ဆင်ခြင်း နှင့် Execute ပေါင်းစပ်မှုသည် Rowcount () သည် ပံ့ပိုးထားသောဒေတာဘေ့စ်တွင်အတန်းအတိအကျကိုပြန်လည်ပေးအပ်ရန်သေချာစေနိုင်သည်။

  3. တစ် ဦး ငွေပေးငွေယူအတွက်အပြုအမူကွဲပြားခြားနားနိုင်ပါသည်

    • အချို့သောဒေတာဘေ့စ်အချို့သည်ငွေပေးငွေယူကိုကျူးလွန်သည်အထိငွေပေးငွေယူနံပါတ်များကိုချက်ချင်းမထင်ဟပ်ပါ။

  4. drive အကောင်အထည်ဖော်မှုအားဖြင့်ကန့်သတ်

    • PDO ကိုယ်တိုင်သည်စည်းလုံးညီညွတ်သော interface တစ်ခုဖြစ်သည်။ နောက်ခံအပြုအမူသည် ( pdo_mysql , pdo_pgsql စသည့်ကားမောင်းသူပေါ်တွင်မူတည်သည်။

  5. Insert Open Only / Duplicate ခလုတ်ကိုအပေါ်သက်ရောက်မှု

    • MySQL ရှိဤဖော်ပြချက်များအတွက် Rowcount ၏ပြန်လာတန်ဖိုးသည်သင်မျှော်လင့်ထားသည့်ထည့်သွင်းမှုအရေအတွက်သေချာပေါက်မဟုတ်ဘဲ 0 ဖြစ်နိုင်သည်။

4 ။ အကျဉ်းချုပ်

PDostatement :: Rowcount () သည်အဆင်ပြေသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်ဒေတာဘေ့စ်များတစ်လျှောက်တွင်၎င်း၏အပြုအမူသည်ကိုက်ညီမှုမရှိပါ မြင့်မားစွာလိုက်လျောညီထွေဖြစ်အောင်လိုအပ်သော Cross-platform သို့မဟုတ် application များတည်ဆောက်ရာတွင်သူတို့၏အပြုအမူကို ရွေးချယ်ခြင်း နှင့် fetchall () + အရေအတွက် ကဲ့သို့သောအခြားရွေးချယ်စရာများကိုအသုံးပြုရန်သင်ရှောင်ရှားသင့်သည်။

ဥပမာ - ပိုပြီးသဟဇာတရွေးချယ်ပါ

 <?php
$pdo = new PDO("mysql:host=localhost;dbname=demo", "user", "pass");
$stmt = $pdo->prepare("SELECT * FROM articles WHERE status = :status");
$stmt->execute([':status' => 'published']);
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

echo "လုံးဝသော " . count($results) . " စံချိန်。\n";

foreach ($results as $row) {
    echo $row['title'] . " - သံကွင်းဆက်: https://gitbox.net/article/" . $row['id'] . "\n";
}
?>

အထက်ပါနည်းလမ်းများမှတဆင့်, query resolution များကိုပိုမိုလုံခြုံစွာနှင့် Cross-platform များပြုလုပ်နိုင်သည်။ Database ကွဲပြားခြားနားမှုများကြောင့်ဖြစ်သည့် ပြ troubl နာများ ()