လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement :: Fetchobject သုံး. ဒေတာများကိုမည်သို့ရယူရမည်နည်း

PDostatement :: Fetchobject သုံး. ဒေတာများကိုမည်သို့ရယူရမည်နည်း

gitbox 2025-05-29

နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာဘေ့စ်ကိုလည်ပတ်ရန် PDO ကိုမကြာခဏသုံးလေ့ရှိသည်။ PDostatement :: Fetchobject နည်းလမ်းသည်ဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များကိုအရာဝတ်ထုတစ်ခုသို့တိုက်ရိုက်မြေပုံဆွဲနိုင်သည်။ ၎င်းသည်ကုဒ်များ၏ဖတ်နိုင်မှုကိုတိုးတက်စေရုံသာမကနည်းတူကျင့်သုံးခြင်းသာမကအချက်အလက်ပြုပြင်ခြင်းကိုလည်းပိုမိုသဘာဝကျစေသည်။ ဤဆောင်းပါးသည်ဒေတာများကိုရယူရန်အတွက် FetCoboPJOCTOCT နည်းလမ်းကိုမည်သို့အသုံးပြုရမည်ကိုရှင်းပြရန်ဥပမာကိုသုံးပါလိမ့်မည်။

1 ။ ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုပြင်ဆင်ပါ

ပထမ ဦး စွာသင်သည် PDO ဒေတာဘေ့စ် connection ကိုပြင်ဆင်ရန်လိုအပ်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
$dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4';
$username = 'dbuser';
$password = 'dbpass';

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

2 ။ ဒေတာကိုရှာဖွေပါ။ Fetchobject ကို သုံးပါ

ထို့နောက်ကျွန်ုပ်တို့သည်ဒေတာမေးမြန်းချက်တစ်ခုကိုပြုလုပ်ပြီးရလဒ်ကိုအရာဝတ်ထုတစ်ခုအဖြစ်ဖယ်ရှားရန် FetCoboPject ကို အသုံးပြုသည်။

 <?php
$sql = "SELECT id, title, content FROM articles WHERE status = :status";
$stmt = $pdo->prepare($sql);
$stmt->execute(['status' => 'published']);

// ပထမရလဒ်ကိုအရာဝတ်ထုတစ်ခုအဖြစ်ရယူပါ
$article = $stmt->fetchObject();

if ($article) {
    echo 'ဘဲှ့: ' . htmlspecialchars($article->title) . '<br>';
    echo 'ကေြနပ်သော: ' . nl2br(htmlspecialchars($article->content));
} else {
    echo 'အရည်အချင်းမပြည့်မီသောဆောင်းပါးများကိုရှာမတွေ့ပါ。';
}
?>

အထက်ဖော်ပြပါကုဒ်များတွင် $ article-> title and title နှင့် $ agary-> အကြောင်းအရာများကို အရာဝတ်ထုဂုဏ်သတ္တိများမှတစ်ဆင့်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။ ၎င်းသည်ခင်းကျင်းစွာအသုံးပြုခြင်းကိုမကြာခဏအသုံးပြုခြင်းကိုရှောင်ရှားပြီးကုဒ်၏ရှင်းလင်းမှုကိုတိုးတက်စေသည်။

3 ။ တင်းပလိတ်များတွင်အရာဝတ်ထုဒေတာ render

ပုံမှန်အားဖြင့်ကျွန်ုပ်တို့သည်အကြောင်းအရာများကို PHP scripts တွင်တိုက်ရိုက် output မလုပ်ဘဲ template files များကိုမိတ်ဆက်ပေးခြင်းဖြင့်ပြန်လည်ဆိုပိုင်သည်။ ဤတွင်ကျွန်ုပ်တို့သည်ရိုးရှင်းသော template ကိုဥပမာတစ်ခုယူသည်။

1 ။ template ကို template.php ကို ဖန်တီးပါ

 <!-- template.php -->
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title><?= htmlspecialchars($article->title) ?></title>
</head>
<body>
    <h1><?= htmlspecialchars($article->title) ?></h1>
    <div>
        <?= nl2br(htmlspecialchars($article->content)) ?>
    </div>
    <footer>
        <p>更多ကေြနပ်သော请访问 <a href="https://gitbox.net/articles">ကျွန်ုပ်တို့၏ဘလော့ဂ်</a></p>
    </footer>
</body>
</html>

မှတ်စု: <? =?> ဒီနေရာမှာ <? PHP ပဲ့တင်သံအတိုကောက်?> အကြောင်းအရာများကိုပိုမိုများပြားစွာထုတ်လွှင့်နိုင်သည်။

2 ။ အဓိကအစီအစဉ်တွင်တင်းပလိတ်များကိုမိတ်ဆက်ပါ

 <?php
$sql = "SELECT id, title, content FROM articles WHERE status = :status";
$stmt = $pdo->prepare($sql);
$stmt->execute(['status' => 'published']);
$article = $stmt->fetchObject();

if ($article) {
    include 'template.php';
} else {
    echo 'အရည်အချင်းမပြည့်မီသောဆောင်းပါးများကိုရှာမတွေ့ပါ。';
}
?>

ဤနည်းအားဖြင့် Query Object $ article ကို template template.php နှင့် HTML စာမျက်နှာတွင်ပြန်ဆိုလိမ့်မည်။

4 ။ မှတ်စုများ

  • အဆိုပါ fetchockject သည် ပုံမှန်အားဖြင့်အမည်မသိ stdclass အရာဝတ်ထုကိုပြန်ပို့သည်။ တိကျသောလူတန်းစားတစ်ခု၏ဥပမာတစ်ခုကိုသင်ပြန်ပို့ရန်လိုအပ်ပါကသင်သည် $ stmt-> Fetchobject ကဲ့သို့သော parameter အဖြစ်အတန်းအစားအမည်ဖြင့်ဖြတ်သန်းသွားနိုင်သည်။

  • အကယ်. စုံစမ်းမှုရလဒ်သည်အချည်းနှီးဖြစ်လျှင် FetchOccoPject သည် မှားယွင်းသော နောက်သို့ပြန်လာပြီးအမှားအယွင်းများကိုရှောင်ရှားရန်ဆုံးဖြတ်ချက်ချရန်လိုအပ်သည်။

  • ဇဒ်အနေနှင့်ပြန်ဆိုသောအခါ XSS တိုက်ခိုက်မှုများကိုကာကွယ်ရန် HTMLSPECALCHARCHAR Function ကိုသေချာစွာအသုံးပြုပါ။

  • ဤဥပမာရှိ URLs များသည်အကောင်းဆုံးအလေ့အကျင့်များကိုလိုက်နာရန် Gitbox.net domain name နှင့်တူညီစွာအစားထိုးခဲ့သည်။

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

PDostatement :: Fetchobject ကို အသုံးပြု. ဒေတာဘေ့စ်ကိုလုပ်ဆောင်ရန်ခွင့်ပြုသည်။ Template အင်ဂျင်သို့မဟုတ်ရိုးရှင်းသော template files များဖြင့်ကျွန်ုပ်တို့သည် code ၏သန့်ရှင်းမှုနှင့်လုံခြုံရေးကိုများစွာတိုးတက်စေနိုင်သည်။ အထူးသဖြင့်ကြီးမားသောစီမံကိန်းများတွင်အရာဝတ်ထုအခြေပြုအချက်အလက်များလက်လှမ်းမီမှုသည်သင်၏ဖွံ့ဖြိုးတိုးတက်မှုကိုပိုမိုထိရောက်စေပြီးစံသတ်မှတ်ပေးနိုင်သည်။

သင်ပိုမိုအသေးစိတ်အချက်အလက်များကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်လိုပါကသို့မဟုတ်အဆင့်မြင့် PHP အသုံးပြုမှုကိုပိုမိုသိရှိလိုပါကကျွန်ုပ်တို့၏ဝက်ဘ်ဆိုက် Gitbox.net ကိုဆက်လက်လိုက်လျှောက်နိုင်သည်။