လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement :: Fetch () function ကိုအသုံးပြုပြီးတစ်ခုတည်းသောစုံစမ်းမှုရလဒ်များကိုထိရောက်စွာရယူနိုင်ပုံ။ ခြေလှမ်းများနှင့်ဥပမာအားဖြင့်ခွဲခြမ်းစိတ်ဖြာ

PDostatement :: Fetch () function ကိုအသုံးပြုပြီးတစ်ခုတည်းသောစုံစမ်းမှုရလဒ်များကိုထိရောက်စွာရယူနိုင်ပုံ။ ခြေလှမ်းများနှင့်ဥပမာအားဖြင့်ခွဲခြမ်းစိတ်ဖြာ

M66 2025-07-04

PHP, PDO (PHP Data Obserts) ကို အသုံးပြု. ဒေတာဘေ့စ်များကိုလည်ပတ်သည့်အခါဒေတာဘေ့စ်ဝင်ရောက်ခွင့်အတွက်အစွမ်းထက်။ လုံခြုံသောအလွှာတစ်ခုဖြစ်သည်။ PDostatement :: Fetch () နည်းလမ်းသည်ကွပ်မျက်ခံရသည့်စုံစမ်းမှုရလဒ်များမှမှတ်တမ်းတစ်ခုတည်းရရှိရန်ဘုံနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည်ချက်ခြင်းရှာဖွေမှုရလဒ်များကိုရှာဖွေရန် Single Query ရလဒ်များကိုရရှိရန်အတွက် Single စုံစမ်းမှုရလဒ်များကိုရရှိရန်အတွက်မည်သို့ထိရောက်စွာအသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါလိမ့်မည်


1 ။ pdostatement :: fetch ()

PDostatement :: Fetch () သည် PDO POPO POPONED ကြေငြာချက်ကိုအကောင်အထည်ဖော်ပြီးနောက်ရလဒ်အနေဖြင့်လာမည့်စံချိန်ကိုရရှိရန်အသုံးပြုသောနည်းလမ်းဖြစ်သည်။ parameter အမျိုးအစားပေါ် မူတည်. စံချိန်တင်သို့မဟုတ်စံချိန်တင်တစ်ခုသို့မဟုတ်အရာဝတ်ထုတစ်ခုကိုပြန်လည်ရောက်ရှိစေသည်။ အချိန်တိုင်း တိုင်းတာတိုင်းကို ခေါ်ယူရန်, ရလဒ်ကို cursor သည်စံချိန်တင်ကိုအောက်သို့ရွေ့လျားစေသည်။


2 ။ ခြေလှမ်းများကိုသုံးပါ

အဆင့် 1 - ဒေတာဘေ့စ်ကိုချိတ်ဆက်ပါ

ပထမ ဦး စွာ PDO မှတစ်ဆင့်ဒေတာဘေ့စ်ဆက်သွယ်မှုဥပမာတစ်ခုဖန်တီးရန်လိုအပ်သည်။

 <?php
$dsn = 'mysql:host=m66.net;dbname=testdb;charset=utf8mb4';
$username = 'your_username';
$password = 'your_password';

try {
    $pdo = new PDO($dsn, $username, $password);
    // ချွင်းချက်မှအမှား mode ကိုသတ်မှတ်ပါ
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("ဒေတာဘေ့စဆက်သွယ်မှုမအောင်မြင်ပါ:" . $e->getMessage());
}
?>

အဆင့် 2 - စုံစမ်းမှုကိုပြင်ဆင်ပြီးလုပ်ဆောင်ပါ

SQL ကို ပြင်ဆင်. ကြိုတင်ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များကိုအသုံးပြုခြင်း။

 <?php
$sql = "SELECT id, name, email FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => 1]);
?>

အဆင့် 3 - ရလဒ်တစ်ခုတည်းရရန် Fetch () ကိုခေါ်ပါ

ဒေတာတစ်ခုတည်းကိုရယူရန် fetch () ကို သုံးပါ။ ဘုံပြန်လာအမျိုးအစားများမှာ:

  • PDO :: Fetter_assoc : Associative Array ကိုပြန်ပို့သည်

  • PDO :: FETT_OBJ : READ ORDER

ဥပမာ -

 <?php
// Associative Array ကိုရယူပါ
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if ($row) {
    echo "အသုံးပြုသူID: " . $row['id'] . "\n";
    echo "အသုံးပြုသူ名: " . $row['name'] . "\n";
    echo "စာပို့: " . $row['email'] . "\n";
} else {
    echo "အဘယ်သူမျှမသက်ဆိုင်ရာစံချိန်ကိုတွေ့ရှိခဲ့ပါတယ်。";
}
?>

3 ။ စွမ်းဆောင်ရည်နှင့်ထိရောက်သောအကြံပြုချက်များ

  • ရလဒ်တစ်ခုတည်းကိုသာရယူပါFetch () သည်ဒေတာတစ်ခုသာရှိပြီးအခြေခံသော့ချက်စုံစမ်းမှုသို့မဟုတ်အခြေအနေများအတွက်အရင်းအမြစ်များကိုစွ န့ ်ပစ်ခြင်းကိုရှောင်ရှားရန်လိုအပ်သည့်နေရာတစ်ခုသာလိုအပ်သည့်နေရာတစ်ခုသာလိုအပ်သည်။

  • bind parametersents : SQL injection ကိုကာကွယ်ရန်အတွက် parameters များကို အသုံးပြု. parameters တွေကိုသုံးပါ။

  • သင့်တော်သောထုတ်ယူခြင်းနည်းလမ်းကိုရွေးချယ်ပါ - ၎င်းသည်ယေဘုယျအားဖြင့် PDO :: Fetter_assoc ကို သုံးရန်အကြံပြုသည်။


4 ။ ပြီးပြည့်စုံသောဥပမာ

 <?php
$dsn = 'mysql:host=m66.net;dbname=testdb;charset=utf8mb4';
$username = 'your_username';
$password = 'your_password';

try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "SELECT id, name, email FROM users WHERE id = :id";
    $stmt = $pdo->prepare($sql);
    $stmt->execute(['id' => 1]);

    $user = $stmt->fetch(PDO::FETCH_ASSOC);

    if ($user) {
        echo "အသုံးပြုသူID: " . $user['id'] . "\n";
        echo "အသုံးပြုသူ名: " . $user['name'] . "\n";
        echo "စာပို့: " . $user['email'] . "\n";
    } else {
        echo "未找到对应အသုံးပြုသူ。";
    }
} catch (PDOException $e) {
    echo "အမှား: " . $e->getMessage();
}
?>
  • သက်ဆိုင်သောတက်(ဂ်)များ:

    PDOStatement