PHP တွင်ဒေတာဘေ့စ်စစ်ဆင်ရေးအတွက် PDO (PHP Data Object Obsition) ကိုအသုံးပြုခြင်းသည်အလွန်အမင်းအလေ့အကျင့်တစ်ခုဖြစ်သည်။ PDO သည် SQL Query များကို execute လုပ်ရန်နည်းလမ်းများစွာကိုပြုလုပ်ရန်နည်းလမ်းများစွာကိုပေးသည် ။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် PDostatement :: Database တွင်ဒေတာဘေ့စ်တွင်အချက်အလက်များရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။ ဤဆောင်းပါးသည် ဒေတာဘေ့စ် မှတစ်ဆင့်ဒေတာဘေ့စ်တွင်ဒေတာဘေ့စ်တွင်တည်ရှိခြင်းရှိမရှိမည်သို့ဆုံးဖြတ်ရမည်ကိုဤဆောင်းပါးသည်မိတ်ဆက်ပေးလိမ့်မည်။
PDostatement :: SQL query ကိုကွပ်မျက်ခံရပြီးနောက် Rowcount function ကို Rowcount function ကိုပြန်ပို့သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် ဖျက်ခြင်း သို့မဟုတ် အသစ်ပြောင်းခြင်း မေးခွန်းကိုလုပ်ဆောင်ပါက function သည်ဖျက်လိုက်သောအတန်းအရေအတွက်ကိုပြန်ပေးလိမ့်မည်။ အကယ်. ၎င်းသည် ရွေးချယ်မှု တစ်ခုဖြစ်ပါက၎င်းသည်စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအတန်းအရေအတွက်ကိုပြန်ပို့လိမ့်မည်။
မှတ်ချက် - Rowcount သည် Update , ဖျက်ခြင်း သို့မဟုတ် ရှာဖွေခြင်း ကိုရွေးချယ်သောအခါသာအဓိပ္ပာယ်ရှိလိမ့်မည်။ အချို့သောဒေတာဘေ့စ်အင်ဂျင်များ (ဥပမာ MySQL ကဲ့သို့သော) အတွက် ရွေးချယ်မှု စုံစမ်းမှုသည်စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအတန်းအရေအတွက်ကိုပြန်လည်ရောက်ရှိစေသည် ။
များသောအားဖြင့်ကျွန်ုပ်တို့သည်ရွေးချယ်မှုစုံစမ်းမှုကို အသုံးပြု. စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအချက်အလက်များရရန် Select Query ကို အသုံးပြုသည်။
ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်အချို့သောအသုံးပြုသူတစ် ဦး ၏ ID တည်ရှိသည်ကိုမေးမြန်းလိုပါကကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
// ဒေတာဘေ့စ် connection settings
$dsn = 'mysql:host=gitbox.net;dbname=testdb';
$username = 'root';
$password = 'password';
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
try {
// ဖန်တီး PDO နမူနာ
$pdo = new PDO($dsn, $username, $password, $options);
// အသုံးပြုသူများကိုမေးမြန်းခံရဖို့ ID
$user_id = 123;
// ကရိယာတန်းဆာ SELECT မေးမြန်း
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->bindParam(':id', $user_id, PDO::PARAM_INT);
$stmt->execute();
// အသုံးပြု rowCount စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောစံချိန်တင်ရှိမရှိဆုံးဖြတ်ပါ
if ($stmt->rowCount() > 0) {
echo "ဒီအသုံးပြုသူတည်ရှိ!";
} else {
echo "ဒီအသုံးပြုသူကိုရှာမတွေ့ပါ。";
}
} catch (PDOException $e) {
echo 'ဆက်သွယ်မှုမအောင်မြင်ပါ: ' . $e->getMessage();
}
?>
အထက်ပါကုဒ်၌:
database gitbox.net နှင့်ချိတ်ဆက်ပြီး အသုံးပြုသူများ စားပွဲတွင် ID 123 ရှိသည့်အသုံးပြုသူတစ် ဦး ရှိမရှိမရှိရှာဖွေရန် Selected query station ကိုပြင်ဆင်ပါ။
စုံစမ်းမှုအတွက် parameters တွေကို binding ရန် bindparam နည်းလမ်းကိုသုံးပါ။
စုံစမ်းမှုလုပ်ဆောင်ရန် execute နည်းလမ်းကိုခေါ်ပါ။
စံသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအချက်အလက်များကိုပြန်လည်စစ်ဆေးရန် Rowcount နည်းလမ်းကိုအသုံးပြုပါ။ Rive အတန်းအရေအတွက်သည်သုညထက်ကြီးပါကအသုံးပြုသူသည်ဒေတာဘေ့စ်တွင်မရှိပါ။ ဒီလိုမှမဟုတ်ရင်ဆိုလိုတာကအသုံးပြုသူမရှိပါဘူး။
Rowcount ၏အပြုအမူသည်ဒေတာဘေ့စ်အင်ဂျင်နှင့် Database အင်ဂျင်နှင့်ကွဲပြားခြားနားသော Rowcount တွင် SQUATES (SQLITE သို့မဟုတ် Postgresqlqlqlqlqlql) အချို့၏အမူအကျင့်များ (ဥပမာ SQLITE သို့မဟုတ် Postgresql ကဲ့သို့သော) သည်ကွဲပြားခြားနားသောအရာများမှာကွဲပြားနိုင်သည်။
Rowcount နှင့် Selection ကိုရွေးချယ်ခြင်း - Rowcount သည် ရလဒ်ရှာဖွေမှုကိုမှန်ကန်စွာပြန်လည်ရောက်ရှိသည့်အခါသာသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောအတန်းအရေအတွက်ကိုတိကျစွာရောင်ပြန်ဟပ်လိမ့်မည်။ ဒေတာမတွေ့ပါက Rowcount 0 ပြန်လာလိမ့်မည်။
စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစားချက်များ - ဒေတာတည်ရှိမှုသည်ရိုးရိုးရှင်းရှင်းနှင့်ထိရောက်သောနည်းလမ်းရှိ, မရှိဆုံးဖြတ်ရန် Rowcount ကို အသုံးပြုခြင်း,
PDostatement :: Rowcount function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အချို့သောအခြေအနေများနှင့်ကိုက်ညီသောဒေတာဘေ့စ်တွင်အချက်အလက်များရှိမရှိမရှိကိုအလွယ်တကူဆုံးဖြတ်နိုင်သည်။ ဤချဉ်းကပ်မှုသည်အထူးသဖြင့် Selected query ကိုကွပ်မျက်ပြီးနောက်အချက်အလက်များကိုလုပ်ဆောင်ပြီးနောက်အချက်အလက်များ၏တည်ရှိမှုကိုစစ်ဆေးခြင်းအတွက်အလွန်ထိရောက်သောဖြစ်သည်။ အကယ်. မေးမြန်းမှုတွင်အတန်းအရေအတွက်သည်သုညထက် သာ. ကြီးမြတ်ပါကအချက်အလက်များတည်ရှိသည်ဟုဆိုလိုသည်။ အကယ်. ၎င်းသည်သုညဖြစ်လျှင်၎င်းသည်စံနှုန်းများနှင့်ကိုက်ညီသောအချက်အလက်များမရှိပါဟုဆိုလိုသည်။