လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement :: estCount ကိုအသုံးပြုနည်း:: estCount အောင်မြင်မှုအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်

PDostatement :: estCount ကိုအသုံးပြုနည်း:: estCount အောင်မြင်မှုအောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်

gitbox 2025-05-28

ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP တွင် PDO (PHP Data Obsits) တွင် PDOSTATES တွင်အသုံးပြုသော PDostatement :: Rowcount () နည်းလမ်းကို SQL ထုတ်ပြန်ချက်များမှအကျိုးသက်ရောက်သည့်အတန်းအရေအတွက်ကိုရရှိရန်အသုံးပြုနိုင်သည်။ Insert operations များအတွက်ကျွန်ုပ်တို့သည် chrover သည်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန် Rowcount () ကို အသုံးပြုလိုကြသည်။

PDostatement :: Rowcount ကဘာလဲ။

PDostatement :: Rowcount () သည် PDOTTATIONED () သည် နောက်ဆုံးကွပ်မျက်ခံရသော SQL ထုတ်ပြန်ကြေငြာချက်ကြောင့်အကျိုးသက်ရောက်သည့်အတန်းအရေအတွက်ကိုပြန်လည်ပေးအပ်သော PDO-ပေးထားသောနည်းလမ်းဖြစ်သည်။ ထည့်သွင်းချက် တစ်ခုအတွက်၎င်းသည်စစ်ဆင်ရေးကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုပြန်လည်ရရှိစေသည်။ ပုံမှန်အားဖြင့်, အောင်မြင်စွာ ထည့်သွင်း 1 အတန်းအပေါ် (တစ်ခုတည်းထည့်သွင်းလျှင်) အပေါ်သက်ရောက်မှုရှိသည်။

 <?php
// ဒေတာဘေ့စ်ကိုဆက်သွယ်ပါ
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "username", "password");

// ဒေတာထည့်ပါ
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);

$name = 'John Doe';
$email = '[email protected]';

$stmt->execute();

// အသုံးပြု rowCount() သွင်းသည်အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်
if ($stmt->rowCount() > 0) {
    echo "ဒေတာသွင်းအောင်မြင်စွာ!";
} else {
    echo "ဒေတာသွင်း!";
}
?>

Insert အောင်မြင်မှုရှိမရှိဆုံးဖြတ်ရန်?

PDO ကို အသုံးပြု. Insert ကြေညာချက်ကိုအကောင်အထည်ဖော်ပြီးနောက်ကျွန်ုပ်တို့သည် RORCOUT () ကိုအောင်မြင်စွာဖြည့်စွက်ခြင်းရှိမရှိဆုံးဖြတ်ရန်ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်။ ယေဘုယျအားဖြင့်ပြောရလျှင် Insert statement ကိုအောင်မြင်စွာကွပ်မျက်ခံရသောအခါ RIV အတန်းအရေအတွက်မှာ 1 ဖြစ်သင့်သည်။ ဆိုလိုသည်မှာအချက်အလက် 1 တန်းကိုသက်ရောက်စေသည်။ အကယ်. 0 ကိုပြန်ရောက်လာပါက SQL ကြေငြာချက်ကိုမှန်ကန်စွာကွပ်မျက်ခံရခြင်းသို့မဟုတ်အချက်အလက်မထည့်သောကြောင့်ဖြစ်နိုင်သည်။

သို့သော် PDostatement :: Rowcount () သည် အထူးသဖြင့် MySQL သိုလှောင်ရေးအင်ဂျင်အချို့ကိုအသုံးပြုသောအခါအချို့သောဒေတာဘေ့စ်ယာဉ်မောင်းများတွင်အချို့သောဒေတာဘေ့စ်များတွင်အတန်းအရေအတွက်အတိအကျကိုမပြန်နိုင်ကြောင်းသတိပြုရန်အရေးကြီးသည်။ ဥပမာအားဖြင့် Innodb သိုလှောင်မှုအင်ဂျင်ကိုအသုံးပြုသောအခါ Rowcount () သည် မျှော်လင့်ထားသည့်ရလဒ်များကိုမပြန်နိုင်ပါ။

Batch Inserts processing သောအခါအောင်မြင်မှုဆုံးဖြတ်ရန်ဘယ်လို?

Batch Insert Insert လုပ်ငန်းများအတွက် Regcount ၏ပြန်လည်နေရာချထားခြင်းအတွက်ပြန်လည်နေရာချထားခြင်း (1) သည် 1 မဖြစ်နိုင်ပါ။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်မှတ်တမ်းများစွာကိုထည့်သွင်းပါက,

 <?php
// Batch Insert ဥပမာ
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "username", "password");
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

$data = [
    ['name' => 'Alice', 'email' => '[email protected]'],
    ['name' => 'Bob', 'email' => '[email protected]'],
    ['name' => 'Charlie', 'email' => '[email protected]']
];

foreach ($data as $user) {
    $stmt->bindParam(':name', $user['name']);
    $stmt->bindParam(':email', $user['email']);
    $stmt->execute();
}

// ထည့်သွင်းအတန်းအရေအတွက်ကိုဆုံးဖြတ်ရန်
if ($stmt->rowCount() === count($data)) {
    echo "所有ဒေတာသွင်းအောင်မြင်စွာ!";
} else {
    echo "ဒေတာသွင်း!";
}
?>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ဖြည့်စွက်မှတ်တမ်းများအရေအတွက်သည်မျှော်လင့်ထားသည့်အရေအတွက်နှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန် RORCOUT () ကို အသုံးပြုသည်။ တသမတ်တည်းလျှင်အချက်အလက်အားလုံးကိုအောင်မြင်စွာထည့်သွင်းထားသည်။

Inserted ID ကိုရယူရန် talalinsertid () ကို သုံးပါ

Rowcount () သည် သွင်းသည်အောင်မြင်မှုသည်အောင်မြင်မှုရှိမရှိကိုပြောနိုင်ပါသလား။ ကျွန်ုပ်တို့သည်အသစ်ထည့်သွင်းထားသောမှတ်တမ်း၏ ID ကိုရယူရန်လိုအပ်လျှင် PDO :: Lastessertid () နည်းလမ်းကိုသုံးသင့်သည်။ Lastinsertid () သည် Autoincontent ဒေတာဇယား၏ autoincontent ID ကိုပြန်လည်ရောက်ရှိစေပြီးစစ်ဆင်ရေးအတွက်အလွန်အသုံးဝင်သောလုပ်ငန်းများအတွက်အလွန်အသုံးဝင်သည်။

 <?php
// ဒေတာထည့်ပါ并နောက်ဆုံးဖြည့်စွက်ရယူပါ ID
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);

$name = 'David';
$email = '[email protected]';

$stmt->execute();

// နောက်ဆုံးဖြည့်စွက်ရယူပါ ID
$lastInsertId = $pdo->lastInsertId();
echo "နောက်ဆုံးဖြည့်စွက် ID ဟုတ်ကဲ့:$lastInsertId";
?>

Destinslesertid () သည် အထူးသဖြင့်အချက်အလက်များထည့်သွင်းရန်နောက်ထပ်လုပ်ဆောင်မှုများကိုထည့်သွင်းရန်နောက်ထပ်စစ်ဆင်ရေးများထည့်သွင်းရန်လိုအပ်သည့်အခါမှတ်တမ်းအသစ်၏ ID ကိုရရှိနိုင်ရန်သေချာစေနိုင်သည်။

အကျဉ်းချုပ်

  1. PDostatement :: Rowcount () သည် Execute ပြီးနောက် SQL ထုတ်ပြန်ချက်များကြောင့်ထိခိုက်သောအတန်းအရေအတွက်ကိုရရှိရန်အသုံးပြုသည်။

  2. Insert ဖော်ပြချက်အတွက် Rowcount () သည် ထည့်သွင်းထားသောအတန်းအရေအတွက်ကိုပြန်လည်ရရှိခြင်း,

  3. အသုတ်တွင်ထည့်သွင်းသောအခါ RORCOUT () ပြန်လည်ထည့်သွင်းထားသောမှတ်တမ်းများကိုပြန်ပို့သည်။

  4. အကယ်. သင် Insert Record ၏ ID ကိုရယူရန်လိုအပ်ပါက PDO :: Lastinslesid () နည်းလမ်းကိုသုံးသင့်သည်။

Rowcount () နှင့် talesinsertid () မှန်ကန်စွာအသုံးပြုခြင်းအားဖြင့်ဒေတာသွင်းခြင်း၏မှန်ကန်မှုနှင့်သမာဓိရှိရန်ဒေတာဘေ့စ်လုပ်ငန်းများကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်များကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်ရှိနိုင်သည်။