ဒေတာဘေ့စ်မှ PHP ၏ PDO ကိုအသုံးပြုသောအခါဒေတာဘေ့စ်မှဒေတာများကိုမေးမြန်းပြီး၎င်းကိုသင့်လျော်သောပုံစံဖြင့်လုပ်ဆောင်ရန်လိုအပ်သည်။ PDostatement :: Bindcolum နှင့် Fetch () သည်အသုံးများသောနည်းလမ်းနှစ်ခုဖြစ်ပြီးစုံစမ်းမှုရလဒ်များရသောအခါ၎င်းတို့တွင်ကိုယ်ပိုင်အားသာချက်များရှိသည်။ ဤဆောင်းပါးသည်ဒေတာဘေ့စ်မေးမြန်းမှုရလဒ်များကိုရရှိရန်နှင့်၎င်း၏အသုံးပြုမှုအခြေအနေများကိုရှင်းပြရန်ဤနည်းလမ်းနှစ်ခုကိုမည်သို့မှန်ကန်စွာပေါင်းစပ်ညှိရမည်ကိုအသေးစိတ်ဖော်ပြထားသည်။
PDostatement :: Bindcolnolnic နည်းလမ်းသည် query query for query query query query for variable တစ်ခု၏ကော်လံကိုချည်နှောင်ရန်အသုံးပြုသည်။ ဤနည်းလမ်းအားဖြင့်စုံစမ်းမှုရလဒ်ပါသတ်မှတ်ထားသောကော်လံများကရလဒ်ကိုရယူသည့်အခါတိုင်းလက်တွေ့ကျကျကော်လံတန်ဖိုးကိုလက်ဖြင့်ထုတ်ယူခြင်းမရှိသော variable ထဲသို့တိုက်ရိုက်သိမ်းဆည်းထားနိုင်သည် ။ ဤချဉ်းကပ်မှု၏အားသာချက်မှာအချက်အလက်ထုတ်ယူခြင်းလုပ်ငန်းစဉ်ကိုရိုးရှင်းလွယ်ကူစေရန်နှင့်စုံစမ်းမှုရလဒ်များပြုပြင်ပြောင်းလဲမှုရလဒ်များအတွက်သင့်အားပိုမိုပြောင်းလွယ်ပြင်လွယ်ဖြစ်ရန်ခွင့်ပြုသည်။
<span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bindColumn</span></span><span>(</span><span><span class="hljs-variable">$column</span></span><span>, </span><span><span class="hljs-variable">$variable</span></span><span>, </span><span><span class="hljs-variable">$type</span></span><span> = PDO::</span><span><span class="hljs-variable constant_">PARAM_STR</span></span><span>);
</span></span>$ ကော်လံ - နံပါတ်တစ်ခုသို့မဟုတ် string တစ်ခုဖြစ်နိုင်သည့်ကော်လံ၏အညွှန်းကိန်းသို့မဟုတ်ကော်လံအမည်ကိုသတ်မှတ်သည်။
$ variable : ကော်လံအချက်အလက်များကိုရရှိသော variable ကို။
$ type : optional ကို, optional ကို, ကော်လံအမျိုးအစားကိုသတ်မှတ်ပါ, များသောအားဖြင့် PDO :: Param_str မှ default ။
PDostatement :: ရယူခြင်း နည်းလမ်းကိုရှာဖွေမှုရလဒ်အနေဖြင့်အချက်အလက်များကိုထုတ်ယူရန်အသုံးပြုသည်။ သင်သည် query ရလဒ်များကိုကတဆင့်အတန်းဖြင့်ရနိုင်ပြီးလိုအပ်သလိုအချက်အလက်များကိုလုပ်ဆောင်နိုင်သည်။ Bindcolum နှင့်ပေါင်းစပ်အသုံးပြုသောအခါ, Fetch () သည် သင် bindcolumn မှတဆင့်သင်ချည်ထားသော variable များကို populate လိမ့်မည်။
<span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch</span></span><span>(PDO::</span><span><span class="hljs-variable constant_">FETCH_BOUND</span></span><span>);
</span></span>PDO :: Fetter_boys : ဤ mode တွင် fetch () သည် စုံစမ်းမှုရှိကော်လံများကိုတိုက်ရိုက်သိုလှောင်ထားလိမ့်မည် ။
သင်စုံစမ်းမှုတစ်ခုပြုလုပ်နေစဉ်ကသင်မေးမြန်းမှုရလဒ်အချို့ကော်လံများအားလုံးကိုခွဲခြားလိုပါက, သင် bindcolum ကို သုံးနိုင်သည်။ နောက်တစ်ခုကသင် fetch () ကို သုံး. ရရှိသောရလဒ်များမှတစ်ဆင့် Itain () ကို သုံး. အလိုအလျောက်ကော်လံကိုအလိုအလျောက်သတ်မှတ်ထားသည့်ကော်လံကိုအလိုအလျောက်သတ်မှတ်သည်။ ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်အချို့သောတိကျသောကော်လံများ၏တန်ဖိုးများကိုသာလိုအပ်သည့်အခါဤချဉ်းကပ်မှုသည်များသောအားဖြင့်ပိုမိုထိရောက်စွာပိုမိုထိရောက်စေသည် ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-keyword">try</span></span><span> {
</span><span><span class="hljs-comment">// ဖန်တီး PDO နမူနာ</span></span><span>
</span><span><span class="hljs-variable">$pdo</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">PDO</span></span><span>(</span><span><span class="hljs-string">'mysql:host=localhost;dbname=testdb'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>);
</span><span><span class="hljs-comment">// တည်ဆောက်သည် PDO အမှား mode ကို</span></span><span>
</span><span><span class="hljs-variable">$pdo</span></span><span>-></span><span><span class="hljs-title function_ invoke__">setAttribute</span></span><span>(PDO::</span><span><span class="hljs-variable constant_">ATTR_ERRMODE</span></span><span>, PDO::</span><span><span class="hljs-variable constant_">ERRMODE_EXCEPTION</span></span><span>);
</span><span><span class="hljs-comment">// ပြင်ဆင်ထား SQL မေးမြန်း</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name, email FROM users"</span></span><span>;
</span><span><span class="hljs-comment">// 执行မေးမြန်း</span></span><span>
</span><span><span class="hljs-variable">$stmt</span></span><span> = </span><span><span class="hljs-variable">$pdo</span></span><span>-></span><span><span class="hljs-title function_ invoke__">prepare</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>);
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">execute</span></span><span>();
</span><span><span class="hljs-comment">// variable တွေကိုမှကော်လံ binding</span></span><span>
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bindColumn</span></span><span>(</span><span><span class="hljs-string">'id'</span></span><span>, </span><span><span class="hljs-variable">$id</span></span><span>);
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bindColumn</span></span><span>(</span><span><span class="hljs-string">'name'</span></span><span>, </span><span><span class="hljs-variable">$name</span></span><span>);
</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">bindColumn</span></span><span>(</span><span><span class="hljs-string">'email'</span></span><span>, </span><span><span class="hljs-variable">$email</span></span><span>);
</span><span><span class="hljs-comment">// အသုံးပြု fetch() ရလဒ်များကိုရယူပါ</span></span><span>
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$stmt</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch</span></span><span>(PDO::</span><span><span class="hljs-variable constant_">FETCH_BOUND</span></span><span>)) {
</span><span><span class="hljs-comment">// ဒေတာတစ်ခုချင်းစီကိုလိုင်းတစ်ခု</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ID: <span class="hljs-subst">$id</span></span></span><span>, Name: </span><span><span class="hljs-subst">$name</span></span><span>, Email: </span><span><span class="hljs-subst">$email</span></span><span>\n";
}
} </span><span><span class="hljs-keyword">catch</span></span><span> (PDOException </span><span><span class="hljs-variable">$e</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှား: "</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>PDO ဥပမာတစ်ခုကိုဖန်တီးပါ ။ ပထမ ဦး စွာဒေတာဘေ့စ်နှင့်ဆက်သွယ်မှုကိုတည်ဆောက်ပြီးမှန်ကန်သောဒေတာဘေ့စ် configuration ကိုသုံးပါ။
Execute query : SQL query ကို $ pdo-> ပြင်ဆင် () ကို ပြင်ဆင် ပါ။
Bind Column: id query id id id, $ id id id id id id id id id id id id id id id id id, အမည် နှင့် အီးမေးလ် ကော်လံ ကို ချည်နှောင်ရန် Bindcolumn နည်းလမ်းကိုအသုံးပြုပါ ။
အချက်အလက်များကိုထုတ်ယူပါ ။ Fetch (PDO :: Fetter_bound_bound) ကို ဖြည့်စွက်ပြီး variable များကိုဖြည့်ပါ။ နောက်ဆုံးတွင်ဤ variable များကိုဖြည့်ပါ။
ပိုမိုထိရောက်သော : ကော်လံကို binding ပြီးနောက်အချက်အလက်များကိုသတ်မှတ်ထားသော variable ကိုတိုက်ရိုက်ဖြ ည့ ်စွက်ခြင်း,
အဆင့်မြင့်ဖတ်ရှုခြင်း - Binding Columns သည် code ကိုပိုမိုတိကျစေသည်။ ကော်လံအမည်များကိုအတိအလင်းဖော်ပြရန်မလိုအပ်ပါ။
စွမ်းဆောင်ရည်ပိုကောင်းသည့်အချက်များ - အချို့သောကော်လံအချို့သာမေးမြန်းရန်လိုအပ်သည့်အခါ Bindcolumn သည် မလိုအပ်သောကော်လံဒေတာများကိုပြုပြင်ခြင်းနှင့်စုံစမ်းမှုစွမ်းဆောင်ရည်ကိုတိုးတက်စေနိုင်သည်။
ဒေတာအမျိုးအစားကိုက်ညီမှု - Bindcolumn ကို အသုံးပြုသောအခါ, ဥပမာအားဖြင့်ကော်လံသည်ဂဏန်းအမျိုးအစားတစ်ခုဖြစ်ပါက,
တစ်ခုတည်းသောကော်လံကိုထုတ်ယူရန်အတွက်သာသင့်လျော်သည် ။ Bindcolum သည် ကော်လံတစ်ခုတည်း၏တန်ဖိုးကိုချည်နှောင်ရန်သင့်တော်သည်။ အကယ်. သင်သည်အတန်းတစ်ခုလုံး၏အချက်အလက်များကိုရယူရန်လိုအပ်ပါကအတန်းတစ်ခုလုံးကို actire ည့်သည်ခင်းကျင်းခြင်းသို့မဟုတ်အရာဝတ်ထုတစ်ခုအဖြစ်ရရန် fetch () ကို တိုက်ရိုက်အသုံးပြုရန်စဉ်းစားနိုင်သည်။
မှန်ကန်သော Fetch Mode ကိုသုံးပါ ။ Bindcolum ကို ပေါင်းစပ်သည့်အခါ PDO :: Fetter_boys mode ကိုသေချာစွာသုံးပါ ။
PDostatement :: Bindcolum နှင့် Fetch () နည်းလမ်းကိုအသုံးပြုခြင်းသည်ဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များမှလိုအပ်သောကော်လံအချက်အလက်များကိုထိရောက်စွာဖြန့်ဝေနိုင်သည်။ ဤနည်းလမ်းသည်ကုဒ်ဖွဲ့စည်းပုံကိုရိုးရှင်းစေပြီးအထူးသဖြင့်အချက်အလက်များ၏တိကျသောအချက်အလက်များကိုသာလိုအပ်သည့်အခါအထူးသဖြင့်စုံစမ်းမှုထိရောက်မှုကိုတိုးတက်စေသည်။ ဤနည်းလမ်းနှစ်ခုကိုအသုံးပြုခြင်းအားဖြင့် developer များကဒေတာဘေ့စ်စုံစမ်းမှုများကိုပိုမိုထိရောက်စွာလုပ်ဆောင်နိုင်ပြီးကုဒ်၏ထိန်းသိမ်းမှုကိုတိုးတက်စေနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
PDOStatement