နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာပယ်ဖျက်ခြင်းသည်အလွန်အသုံးများသော်လည်းဂရုတစိုက်ပြုပြင်ခြင်းလုပ်ငန်းတာဝန်လိုအပ်သည်။ အထူးသဖြင့်အကြီးစားဒေတာများပြုပြင်ခြင်းသို့မဟုတ်ကွပ်မျက်မှုစွမ်းဆောင်ရည်လိုအပ်သည့်အခြေအနေများတွင်ဖြစ်ရပ်များတွင်အထူးသဖြင့်ဖျက်ခြင်းလုပ်ငန်းသည်အောင်မြင်မှုအောင်မြင်ရန်နှင့်နောက်ဆက်တွဲယုတ္တိဗေဒကိုဆက်လက်လုပ်ဆောင်ရန်လိုအပ်သည်ကိုတိကျစွာဆုံးဖြတ်ရန်အထူးအရေးကြီးသည်။ ဤအချိန်တွင် PDostatement :: Rowcount function သည်၎င်း၏အခန်းကဏ် play မှပါ 0 င်နိုင်သည်။
PDostatement :: Rowcount သည် PDO တွင် PDO တွင် SQL တွင် Excles လုပ်ပြီးနောက် ယခင် SQL ကြေညာချက်မှအကျိုးသက်ရောက်သောအတန်းအရေအတွက်ကို ပြန်ပို့ရန်အသုံးပြုသည်။ Deleete , update , ထည့်သွင်းခြင်း စသည်ဖြင့်ဖော်ပြချက်များအတွက်အချက်အလက်များမည်မျှပြောင်းလဲပစ်ရန်သို့မဟုတ်ဖျက်ပစ်ခြင်းကိုအတိအကျပြောပြနိုင်သည်။
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "user", "password");
$stmt = $pdo->prepare("DELETE FROM users WHERE last_login < :threshold");
$stmt->execute([':threshold' => '2024-01-01']);
$deletedRows = $stmt->rowCount();
echo "စုစုပေါင်းဖျက်ပစ် $deletedRows လိုင်းမှတ်တမ်းများ。";
ဤဥပမာတွင်အသုံးပြုသူဇယားရှိစံနှုန်းများနှင့်ကိုက်ညီသောမှတ်တမ်းများရှိပါက ROWCount () အတန်းမည်မျှဖျက်ပစ်လိုက်ပြီကိုပြန်ပို့နိုင်သည်။
အကြိမ်ပေါင်းများစွာကျွန်ုပ်တို့သည်ပရိုဂရမ်၏ယုတ္တိဗေဒတွင်ဖျက်ခြင်းကြေညာချက်ကိုပယ်ဖျက်နိုင်သော်လည်းဒေတာဘေ့စ်ရှိအခြေအနေများကိုဖြည့်ဆည်းပေးသည့်မှတ်တမ်းများမရှိပါ။ ဤအဓိပ္ပာယ်မဲ့သောဖျက်ခြင်းလုပ်ငန်းသည်အမှားတစ်ခုသတင်းပို့နိုင်သော်လည်းဒေတာဘေ့စ်တွင်ဝန်ထုပ်ဝန်ပိုးကိုတိုးစေသည်။
Execute မတိုင်မီနှင့်အပြီးလုပ်ဆောင်မှုမတိုင်မီနောက်ဆက်တွဲယုတ္တိဗေဒကိုသေချာစွာဆုံးဖြတ်ရန် RORGCOUT () ကိုတိကျစွာဆုံးဖြတ်ရန် -
$stmt = $pdo->prepare("DELETE FROM logs WHERE created_at < :expired_time");
$stmt->execute([':expired_time' => date('Y-m-d H:i:s', strtotime('-30 days'))]);
if ($stmt->rowCount() > 0) {
// မှတ်တမ်းများကိုဖျက်ပစ်လိုက်ပြီ,နောက်ဆက်တွဲသန့်ရှင်းရေးလုပ်ငန်းများကိုလုပ်ဆောင်နိုင်သည်
file_get_contents("https://gitbox.net/cleanup-notify");
}
မှတ်တမ်းတစ်ခုသည်အမှန်တကယ်ဖျက်ခြင်းကိုဆုံးဖြတ်ခြင်းရှိမရှိဆုံးဖြတ်ခြင်းအားဖြင့်မလိုအပ်သောဝေးလံခေါင်သီသောခေါ်ဆိုမှုများသို့မဟုတ်အခြားအရင်းအမြစ်စားသုံးမှုကိုရှောင်ရှားသည်
Batch Deletion လုပ်ငန်းလည်ပတ်မှုများကိုကိုင်တွယ်သည့်အခါ Select Count (*) စစ်ဆေးမှုများကိုပထမဆုံးအကြိမ်အသုံးပြုပါကဒေတာဘေ့စ်လက်လှမ်းမီမှုနှစ်ခုလိုအပ်သည်။ Rowcount () သည် Execute ပြီးနောက်သက်ရောက်မှုရှိသောအတန်းအရေအတွက်ကိုချက်ချင်းပေးနိုင်သည်။
$stmt = $pdo->prepare("DELETE FROM temp_data WHERE expire_at < NOW()");
$stmt->execute();
if ($stmt->rowCount() === 0) {
echo "ဖျက်ပစ်ရန်ဒေတာမရှိပါ。";
} else {
echo "အောင်မြင်စွာဖျက်ပစ် {$stmt->rowCount()} ယာယီဒေတာ。";
}
ဤနည်းလမ်းသည်မလိုအပ်သောအလုပ်ကိုထပ်ခါတလဲလဲပြုလုပ်ရန်အချိန်ကောင်းသန့်ရှင်းရေး scripts များ၌စာဖြင့်ရေးသားရန်အတွက်အထူးအရေးကြီးသည်။
ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်သောအခါဘေးဒဏ်သင့်သည့်အတန်းအရေအတွက်ကိုမှတ်တမ်းတင်ခြင်းသည်ပြ troubl နာဖြေရှင်းခြင်းနှင့်စွမ်းဆောင်ရည်စောင့်ကြည့်လေ့လာခြင်းအတွက်အရေးကြီးသည်။ Regcount ၏ rewcount တန်ဖိုး () သည်စွမ်းဆောင်ရည်မြှင့်တင်ရေးသို့မဟုတ်ယုတ္တိအမှားများကိုရှာဖွေရန်အတွက်အသေးစိတ်မှတ်တမ်းများကိုတည်ဆောက်ရန်အသုံးပြုနိုင်သည်။
$logMessage = sprintf(
"[%s] သန့်ရှင်းရေးစစ်ဆင်ရေးပြီးစီးခဲ့သည်,စုစုပေါင်းကိုဖျက်ပါ %d သက်တမ်းကုန်ဆုံး。",
date('Y-m-d H:i:s'),
$stmt->rowCount()
);
error_log($logMessage, 3, '/var/log/cleanup.log');
RORCOUT () သည် ဒေတာဘေ့စ်အများစုတွင်ကောင်းစွာလုပ်ဆောင်နေစဉ်တွင် Select Provey အတွက်အမြဲတမ်းအလုပ်မလုပ်နိုင်ပါ။ အချို့သောဒေတာဘေ့စ်ယာဉ်မောင်းများတွင် Selected ကြေငြာချက်တစ်ခုတွင် Rowcount () တွင် Calling Rowcount () တွင် 0 င်ပြန်ပို့ပါလိမ့်မည်။ ထို့ကြောင့် ထည့် သွင်း ခြင်း ,