PHP တွင် PDO ကိုအသုံးပြုသည့်အခါ PDOTATE (PHP Data Obserts) ကိုအသုံးပြုသည့်အခါ PDStatement :: Rowcount () နည်းလမ်းကို များသောအားဖြင့်ထုတ်ပြန်ကြေငြာ ချက် သည်အထူးသဖြင့် ထည့်သွင်းခြင်း , သို့သော် Select Telected ထုတ်ပြန်ချက်များနှင့်ဆက်ဆံရာတွင် Repcount ၏အပြုအမူသည် defulcounter () သည် developer များအားရှုပ်ထွေးစေနိုင်သည်,
PDostatement :: Rowcount () နည်းသည်နောက်ဆုံး SQL ကွပ်မျက်မှုကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိစေသည်။ ထည့်သွင်းခြင်း , update , ဖျက်လိုခြင်း နှင့်အခြားထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်သောအခါဘေးဒဏ်သင့်အတန်းအရေအတွက်ကိုပြန်လည်ရရှိစေသည်။ သို့သော် Select selected ထုတ်ပြန်ချက်များအတွက်, Rowcount () သည် လုံးဝအလိုလိုသိသည်။
အချို့သောဒေတာဘေ့စ်ယာဉ်မောင်းများ (ဥပမာ MySQL, SQLITI ကဲ့သို့သော) အတွက် RORCOUT () သည် များသောအားဖြင့် ရွေးချယ်ထားသော ဖော်ပြချက်များအတွက်အကျိုးသက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုများသောအားဖြင့်ပြန်ပို့သည်။ သို့သော်အချို့ကိစ္စများတွင်ကျွန်ုပ်တို့၏ပြ problem နာကိုမြင့်တက်စေသော RIV အတန်းအရေအတွက်ကိုအစား 0 င်ပြန်ရောက်စေနိုင်သည်။
RowCount () သည် မှန်ကန်သောရလဒ်ကိုမပြန်ရသည့်အကြောင်းရင်းအချို့ကိုဤတွင်ဖော်ပြထားသည်။
ကွဲပြားခြားနားသောဒေတာဘေ့စ်ယာဉ်မောင်း (ဥပမာ, MySQL နှင့် Postgrl နှင့် Postgrlql) မှ Regcount () ၏အကောင်အထည်ဖော်မှုတွင်ကွဲပြားခြားနားမှုများရှိသည်။ အချို့သောယာဉ်မောင်းအချို့ (ဥပမာ, MySQL) သည် Querys ကို ရွေးချယ်သည့်အခါဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ကိုပုံမှန်အားဖြင့်မွမ်းမံပါ။ ထို့ကြောင့် Rowcount () ဟုခေါ်သောအခါ, 0 င်ကို 0 င်ပါ။
အကယ်. Selected ထုတ်ပြန်ချက်သည် အကန့်အသတ် သို့မဟုတ် offset မှတဆင့် paging ဖြစ်လျှင် Rowcount () သည် မျှော်မှန်းထားသောအတန်းအရေအတွက်ကိုမပြန်နိုင်ပါ။ ဥပမာအားဖြင့် Select Select ကိုအသုံးပြုသောအခါ * စားပွဲတင်ကန့်သတ်ချက် 10 မှ Rowcount () သည် ရလဒ်အတန်းအရေအတွက်များပြားသော်လည်းဇယားတွင်စုစုပေါင်းအတန်းအရေအတွက်ကိုသာပြန်လည်ပေးလိမ့်မည်။
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'user', 'password');
$query = $pdo->query('SELECT * FROM users LIMIT 10');
echo $query->rowCount(); // output ကိုဖြစ်လိမ့်မည်10,အစားစားပွဲပေါ်မှာအတန်းစုစုပေါင်းအရေအတွက်
Rowcount ၏ rewcount ၏ rewcount ၏တန်ဖိုးကို PDO :: STECE_ * mode ကိုအသုံးပြုနိုင်သည်။ အချို့သောပြန်လည်ရယူခြင်း modes (ဥပမာ PDO :: FETT_ALED_ACT_AST_AST_AST_AST_AST_AST_AST_AST_AST_AST_AST_ALL ) ကိုရှာဖွေခြင်းမှသာထုတ်ယူပါ။ အကယ်. သင်သည်စုံစမ်းမှုတစ်ခုပြုလုပ်သောအခါစိတ်ကြိုက်ပြန်လည်ရယူခြင်း mode ကိုအသုံးပြုပါက RoRcount () သည် ပုံစံနှင့်ကိုက်ညီသောအတန်းအရေအတွက်ကိုသာပြန်လည်ပေးနိုင်သည်။
စွမ်းဆောင်ရည်တိုးတက်စေရန်အတွက်ဒေတာဘေ့စ်အချို့သည် cache ကိုသုံးနိုင်သည်သို့မဟုတ် Regcount ၏ပြန်လာတန်ဖိုးကိုသက်ရောက်စေသော cache ကိုသုံးနိုင်သည်။ အထူးသဖြင့် Datasets ကြီးများနှင့်ပတ်သက်လျှင်ဒေတာဘေ့စ်အင်ဂျင်သည်မျှော်လင့်ထားသည့်အတိုင်း Rowcount () 0 င်သို့မဟုတ်မမှန်ကန်ကြောင်းတန်ဖိုးများကိုပြန်လည်ရောက်ရှိစေသည့်အပြည့်အဝအရေအတွက်အပြည့်အဝရေတွက်ခြင်းမပြုနိုင်ပါ။
Select စုံစမ်းမှုတစ်ခုအရဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ကိုသင်အတိအကျရရှိရန်သေချာစေရန်, RORCOUTH အပေါ်မှီခိုမည့်အစားအခြားနည်းလမ်းများကိုသင်အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်, သင်သည်စုစုပေါင်းအတန်းများရရှိရန် အရေအတွက် (*) ကို သုံးနိုင်သည်။
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'user', 'password');
$query = $pdo->query('SELECT COUNT(*) FROM users');
$row = $query->fetch(PDO::FETCH_ASSOC);
echo $row['COUNT(*)']; // စားပွဲ၌စုစုပေါင်းအရေအတွက်ကိုရယူပါ
ထို့အပြင်သင်သည်စုံစမ်းမှုရလဒ်အားလုံးအတွက်အတန်းအရေအတွက်ကိုရရန်လိုအပ်ပါကတစ်စိတ်တစ်ပိုင်းအတန်းအရေအတွက်သာမကအခြားနည်းတစ်နည်းမှာမူရလဒ်အားလုံးကို ဖြတ်. သူတို့ကိုရေတွက်ခြင်းအားဖြင့်ဖြစ်သည်။
$query = $pdo->query('SELECT * FROM users');
$count = 0;
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$count++;
}
echo $count; // query ရလဒ် output ကိုထုတ်ပေးသောအတန်းအရေအတွက်
PDostatement :: Rowcount () သည် အချို့သောကိစ္စရပ်များတွင်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုမှန်ကန်စွာပြန်ပို့နိုင်သည် ။ ကွဲပြားခြားနားသောဒေတာဘေ့စ်ယာဉ်မောင်းများနှင့်စုံစမ်းနည်းနည်းလမ်းများသည်သူတို့ပြန်လာသည့်အတန်းအရေအတွက်ကိုမျှော်လင့်ချက်များနှင့်မကိုက်ညီပါ။ သင့်ရဲ့မှန်ကန်သောအတန်းများရရန်သေချာစေရန်သင် ရေတွက် (*) ကိုရေတွက်ခြင်း (*) ကိုအသုံးပြုခြင်းသို့မဟုတ်ရှာဖွေမှုရလဒ်များကိုလက်ဖြင့်ဖြတ်ကူးရန်စဉ်းစားနိုင်သည်။ developer များသည် Rowcount ၏ကန့်သတ်ချက်များကိုနားလည်သင့်သည်။