PHP ကို အသုံးပြု. ဒေတာဘေ့စ်များကို operating လုပ်သည့်အခါ PDO သည် SQL Query များကိုလုပ်ဆောင်ရန်စွမ်းဆောင်နိုင်စွမ်းရှိသောစွမ်းရည်များကိုပေးသည်။ Insert လုပ်ငန်းများလုပ်ဆောင်ခြင်းကိုလုပ်ဆောင်သောအခါဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ကိုနားလည်ခြင်းသည်နောက်ဆက်တွဲအပြောင်းအလဲအတွက်အလွန်အရေးကြီးသည်။ PDostatement :: Rowcount () နည်းလမ်းသည် SQL ကိုကွပ်မျက်ခံရပြီးနောက်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုရရှိရန်ကူညီနိုင်သည်။ ဤဆောင်းပါးသည် PDO ကို အသုံးပြု. ထည့် သွင်း ခြင်းနှင့်ရလဒ်ပေါ် မူတည်. ၎င်းတို့အားလုပ်ဆောင်ရန်အတွက် Rowcount ကိုအသုံးပြုရန် RowCount ကို အသုံးပြုရန်မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
ပထမ ဦး စွာသင်သည်ဒေတာဘေ့ စ ်နှင့်ချိတ်ဆက်ထားပြီးထည့်သွင်းရန်အဆင်သင့်ဖြစ်အောင်လုပ်ပါ။ ဒီမှာရိုးရှင်းတဲ့ Insert စစ်ဆင်ရေးဖြစ်ပါတယ်:
<?php
// ဒေတာဘေ့စ် connection configuration ကို
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';
try {
// ဖန်တီး PDO နမူနာ
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ဒေတာထည့်သွင်းရန်အဆင်သင့် SQL အသေအချာပေြာဆိုချက်
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
// parameters တွေကိုချည်ထား
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
// နမူနာဒေတာ
$name = 'John Doe';
$email = '[email protected]';
// ကရိယာတန်းဆာ INSERT ခဲှစိတ်ကုသ
$stmt->execute();
// ထိခိုက် rigs ၏အရေအတွက်ကိုရယူပါ
$affectedRows = $stmt->rowCount();
// output အားဖြင့်ထိခိုက်အတန်းအရေအတွက်
echo "ထည့်ပါ $affectedRows လိုင်းဒေတာ\n";
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
အထက်ပါကုဒ်တွင် ဒေါ်လာ stmt-> execute () သည် ထည့် သွင်း မှုတစ်ခုပြုလုပ်သည်။ Insert စစ်ဆင်ရေးများတွင်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်မှာထည့်သွင်းထားသောမှတ်တမ်းများ။ အရာအားလုံးအဆင်ပြေမယ်ဆိုရင်ပြန်လာတဲ့တန်ဖိုးက 1 ဖြစ်သင့်တယ်။
ထို့နောက်ကျွန်ုပ်တို့သည် Rowcount () ပြန်လည်ရောက်ရှိသောတန်ဖိုးကို အခြေခံ. ကွဲပြားခြားနားသောအပြောင်းအလဲကိုပြုလုပ်နိုင်သည်။ ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်ဤ REVAT valid ကို သုံး. ဒေတာများကိုအောင်မြင်စွာဖြည့်စွက်ခြင်းရှိမရှိဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်:
<?php
if ($affectedRows > 0) {
echo "ဒေတာသွင်းအောင်မြင်စွာ!\n";
} else {
echo "ဒေတာသွင်း!\n";
}
?>
အထက်ပါဥပမာနှင့်ပေါင်းစပ်ပြီး, သွင်းယူရလဒ်အပေါ်အညီအညီဆောင်ရွက်ရန်သေချာစေရန်ကျွန်ုပ်တို့လုပ်ငန်းစဉ်တစ်ခုလုံးကိုအတူတကွထားနိုင်သည်။
<?php
// ဒေတာဘေ့စ် connection configuration ကို
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';
try {
// ဖန်တီး PDO နမူနာ
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ဒေတာထည့်သွင်းရန်အဆင်သင့် SQL အသေအချာပေြာဆိုချက်
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
// parameters တွေကိုချည်ထား
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
// နမူနာဒေတာ
$name = 'John Doe';
$email = '[email protected]';
// ကရိယာတန်းဆာ INSERT ခဲှစိတ်ကုသ
$stmt->execute();
// ထိခိုက် rigs ၏အရေအတွက်ကိုရယူပါ
$affectedRows = $stmt->rowCount();
// ကွဲပြားခြားနားသောအပြောင်းအလဲနဲ့ထိခိုက် rips အရေအတွက်အရသိရသည်ဖျော်ဖြေသည်
if ($affectedRows > 0) {
echo "ဒေတာသွင်းအောင်မြင်စွာ!\n";
} else {
echo "ဒေတာသွင်း!\n";
}
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
Rowcount () သည်ဒေတာဘေ့စ်လုပ်ငန်းများနှင့်သက်ဆိုင်ခြင်းမရှိပါ။ ဥပမာအားဖြင့်အချို့သောဒေတာဘေ့စ်စီမံခန့်ခွဲမှုစနစ်များ (ထိုကဲ့သို့သော MySQL ကဲ့သို့သော) သည်ဒေတာဖြည့်စွက်ချက်မရှိပါကပင် ထည့် သွင်းမှုတစ်ခုတွင်အမြဲတမ်း 1 ဖြစ်သည့်တန်ဖိုးကိုပြန်ပို့သည်။ ဤအခြေအနေသည်ဒေတာဘေ့စ်၏တိကျသောအကောင်အထည်ဖော်မှုအပေါ်မူတည်သည်။
rows အရေအတွက်ကိုမထိခိုက်သောစစ်ဆင်ရေးအတွက် rowcount () သည် 0 င ်ရောက်နိုင်သည်။ ထို့ကြောင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အချက်အလက်များကိုတိကျမှန်ကန်သောထည့်သွင်းရန် SQL ကိုအကောင်အထည်ဖော်ရန်အတွက်ပြန်ပြောင်းတန်ဖိုးကိုစစ်ဆေးရန်အကြံပြုသည်။
PDostatement :: Rowcount () နည်းလမ်းသည် Insert လည်ပတ်မှုတစ်ခုပြုလုပ်ပြီးနောက်အလွန်အသုံးဝင်သည်။ developer များသည်အချက်အလက်များကိုအောင်မြင်စွာဖြည့်စွက်ခြင်းရှိမရှိစစ်ဆေးရန်ကူညီနိုင်သည်။ ကွဲပြားခြားနားသောအပြောင်းအလဲနဲ့လုပ်ခြင်းအားဖြင့် Regcount ၏တန်ဖိုးအရသိရသည်,