PHP, PDO (PHP Data Obserts) တွင်လုံခြုံပြီးပြောင်းလွယ်ပြင်လွယ်ဒေတာဘေ့စ်စစ်ဆင်ရေးနည်းလမ်းကိုပေးသည်။ PDostatement :: Rowcount function သည်ဘုံနည်းလမ်းဖြစ်သည်။ SQL ကြေငြာချက်ပြီးဆုံးပြီးနောက်ဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ကိုစစ်ဆေးရန်ခွင့်ပြုရန် SQL ထုတ်ပြန်ချက်ကိုအောင်မြင်စွာကွပ်မျက်ခံရခြင်းရှိမရှိဆုံးဖြတ်သည်။ ဤနည်းလမ်းသည်အထူးသဖြင့် ထည့်သွင်းခြင်း , မွမ်းမံခြင်း , မွမ်းမံခြင်း ,
ဤဆောင်းပါးတွင် PDostatement ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ရှင်းပြပါမည် --: SQL Execution သည်အောင်မြင်မှုရှိမရှိနှင့်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုရယူရန်။
PDostatement :: Rowcount function သည်ယခင်ကကွပ်မျက်ခံရသော SQL ထုတ်ပြန်ကြေငြာချက်အရထိခိုက်သောအတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိစေသည်။ ဤနည်းလမ်းသည်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ရရှိရန် ထည့်သွင်းခြင်း , မွမ်းမံခြင်း , ဖျက်ခြင်း ထုတ်ပြန်ချက်များအတွက်အလွန်သင့်လျော်သည်။
သတိပြုသင့်သည်မှာ Rowcount သည် SQL ထုတ်ပြန်ချက်များအားလုံးနှင့်သက်ဆိုင်ခြင်းမရှိပါ။ ဥပမာအားဖြင့် Selected appension တစ်ခုအတွက် Database Driver ပေါ် မူတည်. Rowcount သည် မှန်ကန်သောတန်ဖိုးကိုမပြန်ပါ။
နောက်တစ်ခါ PDostatement :: concroke ဥပမာတစ်ခုနှင့်မည်သို့အသုံးပြုရမည်ကိုပြပါလိမ့်မည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် PDO ဆက်သွယ်မှုတစ်ခုတည်ဆောက်ရန်လိုအပ်သည်။ MySQL ဒေတာဘေ့စ်တစ်ခုကိုအသုံးပြုရန် MySQL ဒေတာဘေ့စ်ကိုအသုံးပြုသည်ဆိုပါစို့, ကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
try {
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'root', 'password');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
ဤကုဒ်တွင် ဒေါ်လာ PDO အမည်ရှိ PDO ဥပမာအားဖြင့် TestDB အမည်ရှိဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ။
ထို့နောက်ကျွန်ုပ်တို့သည်ဇယားရှိအချက်အလက်များကိုပြင်ဆင်ရန်နှင့်ဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ရရန် Rowcount ကို အသုံးပြုရန် UPDATED ကြေငြာချက်တစ်ခုကိုကျွန်ုပ်တို့လုပ်ဆောင်သည်။
<?php
$sql = "UPDATE users SET email = :email WHERE id = :id";
$stmt = $pdo->prepare($sql);
$email = '[email protected]';
$id = 1;
$stmt->bindParam(':email', $email);
$stmt->bindParam(':id', $id);
$stmt->execute();
// ထိခိုက်သောအတန်းအရေအတွက်ကိုရယူပါ
$affectedRows = $stmt->rowCount();
echo "ထိခိုက်အတန်းအရေအတွက်: " . $affectedRows;
?>
အလားတူစွာ ဖျက်ခြင်း သည်ထိခိုက်နစ်နာသောအတန်းအရေအတွက်ကိုရရန် Rowcount ကို သုံးနိုင်သည်။
<?php
$sql = "DELETE FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$id = 2;
$stmt->bindParam(':id', $id);
$stmt->execute();
// ထိခိုက်သောအတန်းအရေအတွက်ကိုရယူပါ
$affectedRows = $stmt->rowCount();
echo "ထိခိုက်အတန်းအရေအတွက်: " . $affectedRows;
?>
Insert Statement အတွက် Rowcount သည် ဖြည့်စွက်ထားသောအတန်းအရေအတွက်ကိုပြန်လည်ရရှိခဲ့သည်။ အကယ်. စံချိန်တင်ကိုအောင်မြင်စွာဖြည့်စွက်ပါက 1 ပြန်ရောက်သည်။
<?php
$sql = "INSERT INTO users (username, email) VALUES (:username, :email)";
$stmt = $pdo->prepare($sql);
$username = 'newuser';
$email = '[email protected]';
$stmt->bindParam(':username', $username);
$stmt->bindParam(':email', $email);
$stmt->execute();
// ထိခိုက်သောအတန်းအရေအတွက်ကိုရယူပါ
$affectedRows = $stmt->rowCount();
echo "ထိခိုက်အတန်းအရေအတွက်: " . $affectedRows;
?>
PDostatement ၏ပြန်လာတန်ဖိုး --: Rowcount သည် SQL ကိုအောင်မြင်စွာအကောင်အထည်ဖော်နိုင်ပါသလား။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည် insert ကိုထည့်သွင်းခြင်း , မွမ်းမံခြင်း ,
အကယ်. ပြန်လာသောတန်ဖိုးသည် 0 ထက်ကြီးပါက၎င်းသည်ခွဲစိတ်ကုသမှုသည်အောင်မြင်ပြီးအနည်းဆုံးအချက်အလက်များအနည်းဆုံးအတန်းသက်ရောက်မှုရှိသည်ဟုဆိုလိုသည်။
ပြန်လည်နေရာချထား မှုသည် 0 င်ဖြစ်ပါကဤစစ်ဆင်ရေးသည်မည်သည့်အချက်အလက်ကိုမဆိုအောင်မြင်စွာအကျိုးသက်ရောက်ရန်ပျက်ကွက်ကြောင်းဆိုလိုသည်။ (ဥပမာ, update သည် ကိုက်ညီမှုမရှိပါ,
SQL ကြေငြာချက်ကိုအောင်မြင်စွာကွပ်မျက်ခံရသည်ကိုဆုံးဖြတ်ရန် Rowcount ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
if ($stmt->rowCount() > 0) {
echo "စစ်ဆင်ရေးအောင်မြင်သောဖြစ်ပါတယ်,ထိခိုက်အတန်းအရေအတွက်: " . $stmt->rowCount();
} else {
echo "စစ်ဆင်ရေးပျက်ကွက်,အဘယ်သူမျှမဒေတာထိခိုက်";
}
?>
Select selected ထုတ်ပြန်ချက်များအတွက် Rowcount ၏တန်ဖိုးသည်ဒေတာဘေ့စ်ယာဉ်မောင်းပေါ် မူတည်. ပြန်လာသောအတန်းအရေအတွက်ကိုမှန်ကန်စွာမထင်မှတ်ပါ။ ထို့ကြောင့် Rowcount သည်အဓိကအားဖြင့်လုပ်ငန်းများကို ထည့် သွင်း ခြင်း ,
အချို့ကိစ္စများတွင် Rowcount သည် 0 င်ပြန်ပို့နိုင်သည်။ သို့သော်၎င်းသည် SQL ကြေညာချက်ကိုယ်တိုင်က execute မအောင်မြင်ဟုမဆိုလိုပါ။ ဒါဟာမျှမပြုပြင်မွမ်းမံခြင်းသို့မဟုတ်ဖျက်ခြင်းမရရှိနိုင်ပါ။
PDostatement :: Rowcount သည်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ SQL Execution သည် SQL Execution နှင့် SQL လည်ပတ်မှုသည်ဤတန်ဖိုးကိုအောင်မြင်စွာအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်၎င်းသည်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။ အထူးသဖြင့်ဒေတာပြုပြင်မွမ်းမံခြင်းလုပ်ငန်းများကိုပြုပြင်သည့်အခါသင်ကွပ်မျက်မှုရလဒ်များကိုအချိန်မှန်ဖြင့်နားလည်နိုင်သည်။ ၎င်းသည်ပရိုဂရမ်အမှားကိုင်တွယ်မှုကိုကိုင်တွယ်ဖြေရှင်းရန်ကူညီလိမ့်မည်။