ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PDO (PHP Data Object) ကိုအသုံးပြုသောအခါ PDostatement :: Fetchobject Method သည် Maps မေးမြန်းမှုသည်အရာဝတ်ထုများကိုဖြစ်ပေါ်စေသည်။ သို့သော်အချို့ဖြစ်ရပ်များတွင်ကျွန်ုပ်တို့သည်အထူးသဖြင့်ဒေတာဘေ့စ်တွင်အချို့သောလယ်ကွင်းတန်ဖိုးများမရှိသည့်အခါ, FetchOccoT ကို အသုံးပြုသောအခါအရာဝတ်ထု၏ဂုဏ်သတ္တိများအတွက်ပုံမှန်တန်ဖိုးများကိုမည်သို့သတ်မှတ်မည်ကိုဤဆောင်းပါးကမိတ်ဆက်ပေးလိမ့်မည်။
PDostatement :: FetchObjection function ကိုဒေတာဘေ့စ်စုံစမ်းမှုတစ်ခုစီကိုအရာဝတ်ထုတစ်ခုသို့ပြောင်းလဲစေသည်။ ပုံမှန်အားဖြင့်ဒေတာဘေ့စ်၏ field နာအမည်ကိုအရာဝတ်ထု၏ပိုင်ဆိုင်မှုအမည်နှင့်ဆက်စပ်လိမ့်မည်။ ဥပမာအားဖြင့်:
$pdo = new PDO("mysql:host=gitbox.net;dbname=test", 'root', 'password');
$stmt = $pdo->query('SELECT id, name FROM users');
$user = $stmt->fetchObject();
echo $user->name; // output အသုံးပြုသူအမည်
သို့သော်အမှန်တကယ် application များအနေဖြင့်ကျွန်ုပ်တို့သည်၎င်းတို့ကိုဗလာသို့မဟုတ်ပျောက်ဆုံးနေသည့်ဒေတာဘေ့စ်လယ်ကွင်းအချို့ကိုကြုံတွေ့ရနိုင်သည်။ ပုံမှန်တန်ဖိုးကိုသတ်မှတ်ခြင်းဖြင့်အမှားအယွင်းများကိုကျွန်ုပ်တို့ရှောင်ရှားနိုင်သည်။
Fetchoboject ကို အသုံးပြုသောအခါကျွန်ုပ်တို့သည်ပုံမှန်အရာဝတ်ထုပိုင်ဆိုင်မှုတန်ဖိုးကိုသတ်မှတ်နိုင်ရန်အတွက်အဓိကနည်းလမ်း နှစ်ခုကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည် ။
SetfetchMode သည် ဒေတာဘေ့စ်၏ရလဒ်များကိုအရာဝတ်ထုများမည်သို့ဆက်စပ်နေသည်ကိုသတ်မှတ်ရန်ခွင့်ပြုသည်။ သင်သည် default attribute တန်ဖိုးကိုသတ်မှတ်ရန်ဤအင်္ဂါရပ်ကိုသုံးနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်ပစ္စည်းဥစ်စာများကို FetCobobject တွင်စစ်ဆေးပြီးပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုသည်အချည်းနှီးဖြစ်လျှင် default value ကိုသုံးနိုင်သည်။
class User {
public $id;
public $name;
public $email = '[email protected]'; // ပုံမှန်တန်ဖိုးများကိုသတ်မှတ်ပါ
public function __construct($id = null, $name = null, $email = null) {
$this->id = $id;
$this->name = $name;
if ($email) {
$this->email = $email;
}
}
}
// ဒေတာဘေ့စ်ကိုရှာဖွေပြီးရလဒ်များကိုအရာဝတ်ထုထဲသို့ပြောင်းလဲပါ
$pdo = new PDO("mysql:host=gitbox.net;dbname=test", 'root', 'password');
$stmt = $pdo->query('SELECT id, name FROM users');
$stmt->setFetchMode(PDO::FETCH_CLASS, 'User');
// ပထမ ဦး ဆုံးအသုံးပြုသူရယူပါ
$user = $stmt->fetchObject();
echo $user->email; // ဒေတာဘေ့စ်၌မရှိလျှင် email,ပုံမှန်တန်ဖိုးများကိုသုံးပါ
အထက်ဖော်ပြပါကုဒ်များတွင်ဒေတာဘေ့စ ် တွင် အီးမေးလ် တစ်ခုမရှိလျှင်သို့မဟုတ်လယ်ကွင်းသည်အချည်းနှီး ဖြစ်လျှင် ,
သင်သည်အတန်းအစား၏ကန့်သတ်ချက်တွင်ပုံမှန်တန်ဖိုးများကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအားဖြင့်အလားတူအကျိုးသက်ရောက်မှုများကိုလည်းသင်ရရှိနိုင်ပါသည်။ ဤချဉ်းကပ်မှုဖြင့်အချို့သောဂုဏ်သတ္တိများသည်အတန်း၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်တွင်ပုံမှန်တန်ဖိုးများရှိသည်။
class User {
public $id;
public $name;
public $email;
public function __construct($id = null, $name = null, $email = '[email protected]') {
$this->id = $id;
$this->name = $name;
$this->email = $email;
}
}
// ဒေတာဘေ့စ်ကိုရှာဖွေပြီးရလဒ်များကိုအရာဝတ်ထုထဲသို့ပြောင်းလဲပါ
$pdo = new PDO("mysql:host=gitbox.net;dbname=test", 'root', 'password');
$stmt = $pdo->query('SELECT id, name FROM users');
// Custom အတန်းကိုအသုံးပြုခြင်း
$user = $stmt->fetchObject('User');
echo $user->email; // ဒေတာဘေ့စ်၌မရှိလျှင် email,ပုံမှန်တန်ဖိုးများကိုသုံးပါ
ဤတွင်ဆောက်လုပ်ရေးလုပ်ငန်းသည် အီးမေးလ် အမြဲတမ်းပုံမှန်တန်ဖိုးရှိသည်ဟုသေချာစေသည်။
PDostatement :: DetComment နည်းလမ်းကိုသင့်တော်သောအရာဝတ်ထု attribute attribute default settings နှင့်ပေါင်းစပ်ပြီးပေါင်းစပ်ခြင်းအားဖြင့်ဒေတာဘေ့စလယ်ကွင်းပျောက်ဆုံးနေသည့်အခါအမှားအယွင်းများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ ဤနည်းသည်လက်တွေ့ကျသောဖွံ့ဖြိုးတိုးတက်မှုအတွက်အထူးအသုံးဝင်သည်, သင့်ရဲ့လိုအပ်ချက်များအရမှန်ကန်သောနည်းလမ်းကိုရွေးချယ်ခြင်းသည်သင်၏ကုဒ်၏ကြံ့ခိုင်မှုနှင့်ကြံ့ခိုင်မှုကိုတိုးတက်စေသည်။