လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဒေတာဘေ့စ်စုံစမ်းမှုတွင် data data verification

ဒေတာဘေ့စ်စုံစမ်းမှုတွင် data data verification

gitbox 2025-06-06

နေ့စဉ်ဘ 0 တွင်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP ကိုအသုံးပြုသောအခါကျွန်ုပ်တို့သည်အထူးသဖြင့်အတိအကျသောကိန်းဂဏန်းယုတ္တိဗေဒဆိုင်ရာယုတ္တိဗေဒသို့မဟုတ်ဆုံးဖြတ်ချက်ချရန်အတွက်စုံစမ်းမှုရလဒ်များကိုစစ်ဆေးခြင်းကိုစစ်ဆေးရန်လိုအပ်သည်။ PHP သည်စာရိုက်သည့်ဘာသာစကားတစ်ခုဖြစ်သော်လည်း၎င်းသည်အချက်အလက်အမျိုးအစားများကိုကျွန်ုပ်တို့လျစ်လျူရှုနိုင်သည်ဟုမဆိုလိုပါ။ ဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များမှအချက်အလက်များသည်ကိန်းဂဏန်းများဖြစ်သောအချက်အလက်များသည် ကိန်းဂဏန်းများ ဖြစ်စေ,

1 ။ is_integer ၏အခြေခံအသုံးပြုမှု ()

is_integer () သည် PHP တွင် built-in အမျိုးအစားရှာဖွေခြင်း function တစ်ခုဖြစ်သည်။ ၎င်းသည် variable တစ်ခုသည် integer type ( int ) ရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသည်။ Syntax သည်အလွန်ရိုးရှင်းပါသည်။

 is_integer(mixed $value): bool

လွန်သွားသော variable ကို ကိန်းဂဏန်း တစ်ခုဖြစ်သောအခါ စစ်မှန်သော ပြန်လာပါ။ ဒီ function ဟာ alias ကို alias ဖြစ်တဲ့ is_int () နဲ့ညီမျှသည်။

ဥပမာ -

 $number = 10;

if (is_integer($number)) {
    echo "ဒါကကိန်းဂဏန်းတစ်ခုပါ";
} else {
    echo "ဒါကကိန်းတစ်ခုမဟုတ်ပါဘူး";
}

output ကိုဖြစ်လိမ့်မည်:

 ဒါကကိန်းဂဏန်းတစ်ခုပါ

2 ။ ဒေတာဘေ့စ်စုံစမ်းမှုအမျိုးအစားများအမျိုးအစားများ

PDO သို့မဟုတ် MySQLI မှတဆင့်စုံစမ်းမှုတစ်ခုဖြစ်သော PHP ကို ​​Database (ဥပမာ MySQL ကဲ့သို့သော) ကိုဒေတာဘေ့စ်တစ်ခုတွင် int think တစ်ခုအဖြစ်သတ်မှတ်ထားသည့်တိုင် PHP သည်ရလဒ်ကိုပုံမှန်အားဖြင့် string တစ်ခုအဖြစ်ပြန်လည်ရယူလိမ့်မည်။ ဆိုလိုသည်မှာဒေတာဘေ့စ်၏တန်ဖိုးသည်ကိန်းတစ်ခု၏တန်ဖိုးသည်ကိန်းတစ်ခုဖြစ်လျှင်ပင် PHP တွင်ရရှိသောတန်ဖိုးသည် string type အမျိုးအစားတစ်ခုဖြစ်နိုင်သည်။

ဥပမာအားဖြင့်:

 // ယူဆချက် users စားပွဲပေါ်မှာ id လယ်ပြင်သည် INT ပုံနှိပ်စာ
$stmt = $pdo->query("SELECT id FROM users WHERE id = 1");
$row = $stmt->fetch(PDO::FETCH_ASSOC);

var_dump($row['id']);
var_dump(is_integer($row['id']));

output ကိုဖြစ်လိမ့်မည်:

 string(1) "1"
bool(false)

ဤအချက်ကဒေတာဘေ့စ်ရှိ ID သည်ကိန်းတစ်ခုဖြစ်သော်လည်း PHP သည် "1" နှင့် is_integer () သည်ရလဒ်မှာ မှားကြောင်း ဆုံးဖြတ်သည်။

3 ။ ဖြေရှင်းနည်း

is_integer () မှန်ကန်သောဆုံးဖြတ်ချက်ချရန်အတွက်ကျွန်ုပ်တို့သည်အချက်အလက်များကိုရယူသည့်အခါအမျိုးအစားပြောင်းလဲခြင်းကိုပြုလုပ်ရန်လိုအပ်သည်။

နည်းလမ်း 1 - လက်ဖြင့်ရိုက်ကူးခြင်း

 $id = (int)$row['id'];

if (is_integer($id)) {
    echo "id ကိန်းဂဏန်းတစ်ခုပါ";
}

ဤနည်းလမ်းသည်ရိုးရှင်းပြီးအလိုအလျောက်ဖြစ်သည်။

နည်းလမ်း 2: RETT အမျိုးအစားကိုသတ်မှတ်ရန် PDO ကိုသုံးပါ

PDO သည်ရှာဖွေခြင်းတွင်ကွဲပြားခြားနားသောဒေတာအမျိုးအစားများကိုပြန်ပို့ခြင်းကိုထောက်ခံသည်။ PDO :: attr_emulate_emulate_emulate_prepars နှင့်ပေါင်းစပ်။ PDE: attr_emulate_emulate_emulate_prepars နှင့်ပေါင်းစပ်နိုင်သည်။

4 ။ သက်ဆိုင်သည့်အခြေအနေများဥပမာ

အောက်ဖော်ပြပါသည်သုံးစွဲသူမှ ID နှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်အမှန်တကယ် application အခြေအနေများအပေါ်အခြေခံပြီးဥပမာတစ်ခုမှာဒေတာဗေ့စ်ရှိ ID နှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်။

 // အသုံးပြုသူထည့်သွင်းမှုကို
$userInput = $_GET['id'] ?? null;

if (!is_numeric($userInput)) {
    exit("တရားမဝင်သော ID");
}

// ဒေတာဘေ့စ်ကိုမေးမြန်းပါ
$stmt = $pdo->prepare("SELECT id FROM users WHERE id = ?");
$stmt->execute([$userInput]);
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if ($row && is_integer((int)$row['id'])) {
    echo "ဤကိန်းဂဏန်းသည်ဒေတာဘေ့စ်တွင်တည်ရှိသည် ID";
} else {
    echo "အဘယ်သူမျှမသက်ဆိုင်ရာတွေ့ရှိခဲ့ပါတယ် ID 或ပုံနှိပ်စာ错误";
}

5 ။ ကိန်းဂဏန်းများကို URLs ဖြင့်ဖြတ်ပြီးအတည်ပြုပါ

အချို့သော interface ဒီဇိုင်းများတွင်ကျွန်ုပ်တို့သည် URL မှ parameters တွေကိုယူရန်နှင့်ကိန်းဂဏန်းများရှိမရှိဆုံးဖြတ်ရန်လိုအပ်နိုင်သည်။ ဥပမာအားဖြင့်အသုံးပြုသူများသည်အောက်ပါ URL မှတစ်ဆင့်ရယူနိုင်သည်။

 https://gitbox.net/get-user.php?id=42

ထိုကဲ့သို့သောတောင်းဆိုမှုများကိုပြုပြင်သည့်အခါ is_integer နှင့်ပေါင်းစပ်။ parameters တွေကိုသင်အတည်ပြုနိုင်ပါတယ်:

 $id = $_GET['id'] ?? null;

if (is_numeric($id) && is_integer((int)$id)) {
    $id = (int)$id;
    // ထို့နောက်ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်ပါ
} else {
    echo "တရားမဝင်သော参数";
}

6 ။ အကျဉ်းချုပ်

Data အမျိုးအစားများကိုအတည်ပြုသည့်အခါဒေတာအမျိုးအစားများကိုအတည်ပြုသည့်အခါ is_integer () သည်အထူးသဖြင့်စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒကိုသေချာစေရန်လိုအပ်သည့်စီးပွားရေးဆိုင်ရာယုတ္တိဗေဒကိုသေချာစေရန်လိုအပ်သည်။ သို့သော် PHP သည် Numeric Fields ကို database မှကြိုးများအဖြစ်ပြန်လည်ထုတ်လွှင့်သောကြောင့်အသုံးမပြုမီလက်စွဲစာအုပ်အမျိုးအစားပြောင်းလဲခြင်းပြုလုပ်ရန်လိုအပ်သည်။ ဤယန္တရားကိုနားလည်ခြင်းနှင့်မှန်ကန်စွာအသုံးပြုခြင်းကိုမှန်ကန်စွာအသုံးပြုခြင်းသည်အမှန်တကယ်စီးပွားရေးလုပ်ငန်းများနှင့်ပေါင်းစပ်ပြီး မှန်ကန်စွာ ဖြင့်ပေါင်းစပ်ခြင်းဖြင့်ပရိုဂရမ်နှင့်အချက်အလက်တိကျမှန်ကန်မှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။