လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PDostatement မှ :: FetchObject function မှတဆင့် JSON format အချက်အလက်များကိုမည်သို့ရယူရမည်နည်း။

PDostatement မှ :: FetchObject function မှတဆင့် JSON format အချက်အလက်များကိုမည်သို့ရယူရမည်နည်း။

gitbox 2025-05-11

PHP တွင် PDO မှတစ်ဆင့်ဒေတာဘေ့စ်တစ်ခုနှင့်ချိတ်ဆက်သောအခါ PDostatement :: Fetterobject ကို ဒေတာဘေ့စ်တွင်အချက်အလက်များရရှိရန်မကြာခဏသုံးလေ့ရှိသည်။ JSON format တွင်ဒေတာဆိုင်ရာဒေတာတွင်အချက်အလက်များကိုသိုလှောင်ထားလျှင်ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်လျှောက်လွှာတွင်အသုံးပြုရန်လိုအပ်နိုင်သည်။ ယနေ့တွင်ကျွန်ုပ်တို့သည် JSON ဒေတာကိုဒေတာဗေ့စ်တွင် FetchObjection function မှတဆင့်မည်သို့ရယူရမည်ကိုဆွေးနွေးပါမည်။

PDostatement :: FetchObject function ကဘာလဲ။

PDostatement :: Fetchobject သည် PHP PDO (PHP Data Oblatchs) extension တွင် database query query ရလဒ်များရရန်အသုံးပြုသောနည်းလမ်းတစ်ခုဖြစ်သည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $statement = $pdo->query('SELECT * FROM my_table');
$row = $statement->fetchObject();

ဤနည်းလမ်းအားဖြင့်ပြန်လာသောရလဒ်ကိုအရာဝတ်ထုတစ်ခုသို့ပြောင်းလဲပြီးကော်လံတစ်ခုစီ၏အချက်အလက်များကိုအရာဝတ်ထု၏ attribute အဖြစ်အသုံးပြုလိမ့်မည်။

မြင်ကွင်းဖော်ပြချက်

ကျွန်ုပ်တို့တွင်ဇယားတစ်ခုရှိပြီး JSON format တွင် string ကိုသိုလှောင်ထားသည့် ကော်လံ တစ်ခုပါရှိသည်ဆိုပါစို့

 {
  "age": 30,
  "location": "New York",
  "preferences": {
    "color": "blue",
    "food": "pizza"
  }
}

PDO မှတစ်ဆင့်ဇယားကိုကျွန်ုပ်တို့မေးမြန်းသောအခါ ပရိုဖိုင်းသည်ပရိုဖိုင်း ကော်လံသည် JSON string ကိုပြန်ပို့သည်။

PDostatement :: fetchobject ကိုအသုံးပြုပြီးဒေတာကိုရယူပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်နှင့်စုံစမ်းမှုကွပ်မျက်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့သည် သုံးစွဲသူများ ဇယားကိုမေးမြန်းပြီး ပရိုဖိုင်ဇစ်တာ ကော်လံ၏အချက်အလက်များကိုရယူမည်။ ထို့နောက်ကျွန်ုပ်တို့သည် JSOS_Decode function ကို အသုံးပြု. JSON ဒေတာကိုခွဲခြမ်းစိတ်ဖြာပါ။ အောက်ဖော်ပြပါသည်တိကျသောကုဒ်အကောင်အထည်ဖော်မှုဖြစ်သည်။

 <?php
// ဒေတာဘေ့စ်ဆက်သွယ်မှု
$dsn = 'mysql:host=localhost;dbname=testdb';
$username = 'root';
$password = '';

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

    // ဒေတာတွင်ဒေတာဘေ့စ်တွင်မေးမြန်းပါ
    $statement = $pdo->query('SELECT id, name, profile_data FROM users');

    // အသုံးပြုfetchObjectဒေတာကိုရယူပါ
    while ($user = $statement->fetchObject()) {
        // သုံးသပ်ကြည့်ရှုခြင်းJSONပမာဏprofile_data
        $profileData = json_decode($user->profile_data);

        // 输出သုံးသပ်ကြည့်ရှုခြင်း后的数据
        echo "ID: " . $user->id . "<br>";
        echo "Name: " . $user->name . "<br>";
        echo "Age: " . $profileData->age . "<br>";
        echo "Location: " . $profileData->location . "<br>";
        echo "Favorite Color: " . $profileData->preferences->color . "<br>";
        echo "Favorite Food: " . $profileData->preferences->food . "<br>";
        echo "<hr>";
    }
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
?>

code parsing

  1. ဒေတာဘေ့စ်ဆက်သွယ်မှု - PDO ကို MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန် PDO ကို အသုံးပြု. PDO ဥပမာတစ်ခုကို ဖန်တီး. Errorge Mode သို့အမှားအယွင်းကိုသတ်မှတ်ပါ။

  2. query data : အသုံးပြုသူများ ဇယားကိုကျွန်ုပ်တို့မေးမြန်းပြီး ID , အမည် နှင့်ပရိုဖိုင် နှင့်ပရိုဖိုင် ကော်လံကိုရွေးချယ်ပါ။ ပရိုဖိုင် ကော်လံတွင် JSON format တွင်အချက်အလက်များပါ 0 င်သည်။

  3. JSON ဒေတာကိုခွဲခြမ်းစိတ်ဖြာခြင်း - အချက်အလက်များကို fetchocboboject မှတဆင့်အချက်အလက်များကိုရယူပြီးနောက် JSON String ကို PHP အရာဝတ်ထုသို့ပြောင်းရန် JSON TRATECOUNT ကိုသုံးရန် JSON_Decode function ကိုသုံးပါ။

  4. output အချက်အလက်များ - ကျွန်ုပ်တို့သည် parsiledata အရာ ဝတ်ထု နှင့် output တွင် ( အသက်အာမခံ ,

မှတ်သားရန်အရာ

  • JSon parsing error erroring : JSONS_DECODED ကို ကိုင်တွယ်တဲ့အခါမမှန်ကန်သော JSONS format ကိုတွေ့သောအခါပြန်ပြောင်းတန်ဖိုးသည် null ဖြစ်သည်။ ခွဲခြမ်းစိတ်ဖြာခြင်းအမှားများကိုရှောင်ရှားရန်, parsing ရလဒ်များကိုစစ်ဆေးနိုင်သည်။

     $profileData = json_decode($user->profile_data);
    if (json_last_error() !== JSON_ERROR_NONE) {
        echo "JSONသုံးသပ်ကြည့်ရှုခြင်း错误: " . json_last_error_msg();
    } else {
        // ဒေတာကိုဆက်လက်လုပ်ဆောင်ပါ
    }
    
  • ဒေတာအမျိုးအစား - JSOS_DECODED သည် JSON ဒေတာကိုပုံမှန်အားဖြင့်အရာဝတ်ထုတစ်ခုအဖြစ်ခွဲခြားထားသည်။ JSON ကိုအပေါင်းအသင်းဆိုင်ရာခင်းကျင်းမှုကိုခွဲခြမ်းစိတ်ဖြာလိုပါကဒုတိယ parameter ကို စစ်မှန်တာ ကိုသင်အောင်မြင်နိုင်သည်။

     $profileData = json_decode($user->profile_data, true);
    
  • စွမ်းဆောင်ရည်စဉ်းစားမှုများ ကြီးမားသောဒေတာအစုများအတွက်, query သို့မဟုတ် paging processing ကိုပိုကောင်းအောင်လုပ်ဖို့လိုအပ်ပေမည်။

အကျဉ်းချုပ်

PDostatement :: FetCobobject Method မှတဆင့်ဒေတာဗက်ပုံစံရှိအချက်အလက်များကိုအလွယ်တကူရယူပြီး JSON format string ကို php အရာဝတ်ထုများသို့မဟုတ် arry array သို့ json_decode function ကိုပေါင်းစပ်နိုင်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤနှစ်ခုအသုံးပြုခြင်းကိုပေါင်းစပ်ခြင်းသည်အမေရိကန်ဒေါ်လာဒေတာများကိုဒေတာဘေ့စ်တွင်ပိုမိုထိရောက်စွာသိမ်းဆည်းထားသည့် USS လုပ်ငန်းများကိုကူညီနိုင်သည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    PDOStatement