PHP, PDO (PHP Data Object) တွင်ဒေတာဘေ့စ်များကိုရယူရန်အတွက်တသမတ်တည်းသောမျက်နှာပြင်ကိုထောက်ပံ့ပေးသော extension တစ်ခုဖြစ်ပြီးဒေတာဘေ့စ်လုပ်ငန်းများကိုကိုင်တွယ်ရန်ကျယ်ပြန့်စွာအသုံးပြုသည်။ PDO သည် PDostatement: rowcount () rowcount () rowcount () rowcount () သည် အလွန် အသုံး 0 င ်သော rowcount (rowcount) ကိုပြန်ပေးရန် , သို့သော် Rowcount () function ကိုအသုံးပြု သည့် အခါအထူးဂရုပြုရန်အထူးဂရုပြုရန်လိုအပ်သည်။
PDostatement :: Rowcount () function သည် Execute ပြီးနောက် SQL ကြေညာချက်ဒဏ်ခံရသည့်အတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိစေသည်။ စစ်ဆင်ရေးများ ထည့်သွင်းခြင်း , update လုပ်ခြင်း နှင့် ဖျက်ခြင်း အတွက် rowcount () ထိခိုက်သောအတန်းအရေအတွက်ကိုတိကျစွာပြန်ပို့နိုင်သည်။ သို့သော် ရွေးချယ်ထားသော မေးမြန်းချက်များအတွက်မူ၎င်းသည်ဒေတာဘေ့စ်ကားမောင်းသူနှင့်မေးမြန်းမှုကိုမည်သို့လုပ်ဆောင်သည်ကို မူတည်. ကွဲပြားခြားနားစွာလုပ်ဆောင်နိုင်သည်။
Rowcount () တွင် developer များစွာသည်အောက်ပါပြ problems နာများကိုကြုံတွေ့ရနိုင်သည်။
Select Selecties အတွက် rowcount () သည် ကျွန်ုပ်တို့မျှော်လင့်ထားသည့်ရလဒ်ကိုမပြန်ပါ။ အထူးသဖြင့်အချို့ဒေတာဘေ့စ်ယာဉ်မောင်းများ၌၎င်းသည်ထိခိုက်မည့်အတန်းအရေအတွက်ကိုအတိအကျမပြန်နိုင်ပါ။
MySQL တွင် RORCOUT () သည် များသော အားဖြင့် 0 င်သည် ။
အချို့သောကိစ္စရပ်များတွင် RORCOUT () သည် 0 င်အချက်အလက်များမပြန်ပါက 0 ပြန်လည်ရောက်ရှိသည်။ သို့သော်၎င်းသည်စုံစမ်းမှုနှင့် ပတ်သက်. ပြ problem နာမရှိဟုမဆိုလိုပါ။
အမှားအယွင်းများကိုအသုံးပြုပြီး rowcount () ကို ရွေးချယ်ပါ () ကိုရွေးချယ် သောအခါဤတွင်အကြံပြုချက်များနှင့်လက်တွေ့ကျသောနည်းလမ်းအချို့ကိုဤနေရာတွင်ဖော်ပြထားသည်။
ဒေတာဘေ့စ်စနစ်များစွာတွင် RORCOUT () သည် ရွေးချယ်ထားသော မေးမြန်းချက်များရှိအတန်းအတိအကျကိုမပြန်ပါ။ ထို့ကြောင့်, Selection ကို ရွေးချယ်သည့်အခါ, စုံစမ်းမှုအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်အခြားနည်းလမ်းများကိုအသုံးပြုရန်အကြံပြုသည်။ ဥပမာအားဖြင့်, ပြန်လာသောအတန်းအရေအတွက်ကို Fetch ( သို့မဟုတ် fetchall) နည်းလမ်းများဖြင့်စစ်ဆေးနိုင်သည်။
<?php
// သင်ဖန်တီးပြီဆိုပါစို့ PDO ဥပမာနှင့်ဆက်သွယ်မှု
$sql = "SELECT * FROM users WHERE status = :status";
$stmt = $pdo->prepare($sql);
$stmt->execute(['status' => 'active']);
// အသုံးပြု fetchAll ရလဒ်အားလုံးကိုရယူပါ
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
if ($results) {
echo "မေးမြန်းရှာဖွေထားသော " . count($results) . " အချက်များ。\n";
} else {
echo "စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအချက်အလက်များမရှိပါ。\n";
}
?>
အထက်ဖော်ပြပါကုဒ်များတွင်စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအတန်းများအားလုံးကိုရယူရန်အတွက် rontall () ကို သုံး ပါ ။
အကယ်. သင်သည် Rowcount () ကို အသုံးပြုရမည်ဆိုပါက, စုံစမ်းမှုအတွက် cursor ကိုသတ်မှတ်ရန်စဉ်းစားနိုင်သည်။ PDO :: Att_Cursor မှ PDE မှ PDE :: cursor_scroll မှ PDO_SCROLLORE သည်တိကျသောရလဒ်များကိုပြန်ပို့ရန် Rowcount () ကို ခွင့်ပြုသည်။ သို့သော်အထူးသဖြင့်စုံစမ်းမှုအချက်အလက်များသည်ကြီးမားသည့်စွမ်းဆောင်ရည်သက်ရောက်မှုရှိနိုင်သည်ကိုသတိပြုပါ
<?php
// သင်ဖန်တီးပြီဆိုပါစို့ PDO ဥပမာနှင့်ဆက်သွယ်မှု
$sql = "SELECT * FROM users WHERE status = :status";
$stmt = $pdo->prepare($sql);
$stmt->setAttribute(PDO::ATTR_CURSOR, PDO::CURSOR_SCROLL);
$stmt->execute(['status' => 'active']);
// အသုံးပြု rowCount အတန်းအရေအတွက်ကိုရယူပါ
$rowCount = $stmt->rowCount();
echo "မေးမြန်းရှာဖွေထားသော " . $rowCount . " အချက်များ。\n";
?>
ဤနည်းအားဖြင့် Rowcount () သည် Query ရလဒ်တွင်အတန်းအရေအတွက်ကိုမှန်ကန်စွာပြန်ပို့နိုင်လိမ့်မည်။
တစ်ခါတစ်ရံတွင်မေးမြန်းမှုသည်မည်သည့်ဒေတာကိုမဆိုပြန်ပို့မည်မဟုတ်ပါ။ ဤကိစ္စတွင် Rowcount () မှပြန်လာသောတန်ဖိုးသည် 0 ဖြစ်သော်လည်း၎င်းသည် query ပျက်ကွက်သည်ဟုမဆိုလိုပါ။ ဒါကြောင့် RORRCOUT () အပြင်ပြန်လာတဲ့အချက်အလက်တွေကဗလာရှိမရှိစစ်ဆေးသင့်တယ်။ ဥပမာအားဖြင့်ရလဒ်ကိုရရန်နှင့်ပြန်လာသောအချက်အလက်များအပေါ် အခြေခံ. နောက်ထပ်ပြုပြင်ခြင်းပြုလုပ်ရန် fetch () သို့မဟုတ် fetchall () ကို သုံးပါ။
<?php
$sql = "SELECT * FROM users WHERE status = :status";
$stmt = $pdo->prepare($sql);
$stmt->execute(['status' => 'inactive']);
if ($stmt->rowCount() > 0) {
echo "မေးမြန်းရှာဖွေထားသော " . $stmt->rowCount() . " အချက်များ。\n";
} else {
echo "စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအသုံးပြုသူမရှိပါ。\n";
}
?>
အကယ်. သင်၏ရည်မှန်းချက်သည်ဒေတာကိုယ်နှိုက်အစားမေးမြန်းချက်၏အတန်းအရေအတွက်ကိုရရန်ဖြစ်သည်ဆိုလျှင် PDostatement :: Rowcount () ကိုမှီခိုခြင်းထက် ရေတွက်ခြင်း () ကို တိုက်ရိုက်စုစည်းခြင်း () စုစုပေါင်း function ကို အသုံးပြု. ငွေပမာဏကိုတိုက်ရိုက်အသုံးပြုခြင်းသည်။ ဥပမာအားဖြင့်:
<?php
$sql = "SELECT COUNT(*) FROM users WHERE status = :status";
$stmt = $pdo->prepare($sql);
$stmt->execute(['status' => 'active']);
$rowCount = $stmt->fetchColumn();
echo "မေးမြန်းရှာဖွေထားသော " . $rowCount . " အချက်များ。\n";
?>
ဒီနည်းကိုဒေတာဘေ့စ်ကို ဖြတ်. အတန်းအရေအတွက်ကိုတွက်ချက်ခြင်း, rowcount () ကို Rowcount () ကိုရွေးချယ် သောမတိကျသောရလဒ်များကိုရှောင်ရှားရန်။
PDostatement :: Rowcount () သည် အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ အမှားအယွင်းများကိုရှောင်ရှားရန်အမှန်တကယ်ဒေတာများကိုရယူရန်နှင့် ရေတွက် မှတဆင့်အတန်းအရေအတွက်ကိုတွက်ချက်ရန် fetch () fetchall () ကို အသုံးပြုရန်အကြံပြုသည်။ အကယ်. Rowcount () ကို အသုံးပြုရပါမည်ဆိုလျှင် cursor ကိုသတ်မှတ်ခြင်းသို့မဟုတ် ရေတွက်ခြင်း အစားစုစုပေါင်း function ကိုသုံးရန်စဉ်းစားပါ။ ဤနည်းလမ်းများဖြင့်သင်၏ကုဒ်သည်ပိုမိုတည်ငြိမ်ပြီး Rowcount () မတိကျသောရလဒ်များကိုပြန်ပို့ခြင်းကြောင့်ဖြစ်ပေါ်လာသောအလားအလာရှိသောပြ problems နာများကိုရှောင်ရှားနိုင်သည်။