PHP တွင် PDO မှတစ်ဆင့်ဒေတာဘေ့စ်တစ်ခုနှင့်ချိတ်ဆက်သောအခါ PDostatement :: Fetterobject ကို ဒေတာဘေ့စ်တွင်အချက်အလက်များရရှိရန်မကြာခဏသုံးလေ့ရှိသည်။ JSON format တွင်ဒေတာဆိုင်ရာဒေတာတွင်အချက်အလက်များကိုသိုလှောင်ထားလျှင်ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုခွဲခြမ်းစိတ်ဖြာရန်နှင့်လျှောက်လွှာတွင်အသုံးပြုရန်လိုအပ်နိုင်သည်။ ယနေ့တွင်ကျွန်ုပ်တို့သည် JSON ဒေတာကိုဒေတာဗေ့စ်တွင် FetchObjection 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 ကိုပြန်ပို့သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်နှင့်စုံစမ်းမှုကွပ်မျက်ရန်လိုအပ်သည်။ ကျွန်ုပ်တို့သည် သုံးစွဲသူများ ဇယားကိုမေးမြန်းပြီး ပရိုဖိုင်ဇစ်တာ ကော်လံ၏အချက်အလက်များကိုရယူမည်။ ထို့နောက်ကျွန်ုပ်တို့သည် 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();
}
?>
ဒေတာဘေ့စ်ဆက်သွယ်မှု - PDO ကို MySQL ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန် PDO ကို အသုံးပြု. PDO ဥပမာတစ်ခုကို ဖန်တီး. Errorge Mode သို့အမှားအယွင်းကိုသတ်မှတ်ပါ။
query data : အသုံးပြုသူများ ဇယားကိုကျွန်ုပ်တို့မေးမြန်းပြီး ID , အမည် နှင့်ပရိုဖိုင် နှင့်ပရိုဖိုင် ကော်လံကိုရွေးချယ်ပါ။ ပရိုဖိုင် ကော်လံတွင် JSON format တွင်အချက်အလက်များပါ 0 င်သည်။
JSON ဒေတာကိုခွဲခြမ်းစိတ်ဖြာခြင်း - အချက်အလက်များကို fetchocboboject မှတဆင့်အချက်အလက်များကိုရယူပြီးနောက် JSON String ကို PHP အရာဝတ်ထုသို့ပြောင်းရန် JSON TRATECOUNT ကိုသုံးရန် JSON_Decode function ကိုသုံးပါ။
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