PHP ၏ PDO ၏ PDO (PHP Data Obserts) ကိုအသုံးပြုသောအခါ PDostatement :: Rowcount () သည်စစ်ဆင်ရေးအပေါ်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုရရှိရန်အသုံးပြုသောနည်းလမ်းတစ်ခုဖြစ်သည်။ သို့သော် developer များစွာသည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကွဲပြားခြားနားသော database များအကြား၎င်း၏အပြုအမူသည်သိသိသာသာကွဲပြားခြားနားသည်။ ဤဆောင်းပါးသည် rowcount ၏စွမ်းဆောင်ရည်ကို datcount ၏စွမ်းဆောင်ရည်ကိုခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။
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.";
?>
Update / Delete / Insert : Rowcount () သည် တိကျမှန်ကန်သောနှင့်ခိုင်လုံသောအတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိသည်။
Select : default by ပုံမှန်အားဖြင့် Rowcount () သည် 0 ၏တန်ဖိုးကို 0 0 ပြန်ပို့သည် ။
Select အပါအ 0 င် ထုတ်ပြန်ချက်များအားလုံးအတွက်များသောအားဖြင့်မှန်ကန်သောအတန်းအရေအတွက်ကိုပြန်ပို့နိုင်သည်။
ဖြစ်နိုင်ခြေအများစုအတွက်သင့်တော်သော်လည်းအချို့သောအမြင်များသို့မဟုတ်လုပ်ဆောင်ချက်များသည်အမူအကျင့်ကိုမတည်ငြိမ်မှုကိုဖြစ်စေနိုင်သည်။
MySQL နှင့်ဆင်တူသည်နှင့်ဆင်တူ ခြင်း , ဖြိုဖျက် ခြင်း ,
0 များကိုများသောအားဖြင့် ရွေးချယ်ထားသော ထုတ်ပြန်ချက်များအတွက်ပြန်ပို့သည်။
ဖော်ပြချက်အမျိုးမျိုးကို ရွေးချယ်ခြင်း အပါအ 0 င် above rigs အရေအတွက်ကိုပြန်ပို့ရန်ထောက်ပံ့သည်။
Select ၏ Rowcount ကိုအားမကိုးပါနှင့် ()
ဒေတာဘေ့စ်ယာဉ်မောင်းအထောက်အပံ့ကိုသင်ရှင်းရှင်းလင်းလင်းမသိရှိပါက Fetchall ( ) ကိုအသုံးပြုရန်အကြံပြုသည်။
$stmt = $pdo->query("SELECT * FROM users");
$rows = $stmt->fetchAll();
echo count($rows) . " rows selected.";
Rowcount ပြီးနောက် execute ကိုအသုံးပြုရန်ကြိုးစားပါ
ပြင်ဆင်ခြင်း နှင့် Execute ပေါင်းစပ်မှုသည် Rowcount () သည် ပံ့ပိုးထားသောဒေတာဘေ့စ်တွင်အတန်းအတိအကျကိုပြန်လည်ပေးအပ်ရန်သေချာစေနိုင်သည်။
တစ် ဦး ငွေပေးငွေယူအတွက်အပြုအမူကွဲပြားခြားနားနိုင်ပါသည်
အချို့သောဒေတာဘေ့စ်အချို့သည်ငွေပေးငွေယူကိုကျူးလွန်သည်အထိငွေပေးငွေယူနံပါတ်များကိုချက်ချင်းမထင်ဟပ်ပါ။
drive အကောင်အထည်ဖော်မှုအားဖြင့်ကန့်သတ်
PDO ကိုယ်တိုင်သည်စည်းလုံးညီညွတ်သော interface တစ်ခုဖြစ်သည်။ နောက်ခံအပြုအမူသည် ( pdo_mysql , pdo_pgsql စသည့်ကားမောင်းသူပေါ်တွင်မူတည်သည်။
Insert Open Only / Duplicate ခလုတ်ကိုအပေါ်သက်ရောက်မှု
MySQL ရှိဤဖော်ပြချက်များအတွက် Rowcount ၏ပြန်လာတန်ဖိုးသည်သင်မျှော်လင့်ထားသည့်ထည့်သွင်းမှုအရေအတွက်သေချာပေါက်မဟုတ်ဘဲ 0 ဖြစ်နိုင်သည်။
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 နာများ () ။