PHP's MySQLI extension ကိုအသုံးပြုသောအခါ MySQLI_STMT :: AttR_Get function ကိုအသုံးပြုသောအခါ MySQLI_GETT function ကိုအသုံးပြုသည်။ သို့သော် developer များစွာသည်ဤလုပ်ဆောင်မှုကိုခေါ်သည့်အခါ၎င်းတို့၏ပိုင်ဆိုင်မှုတန်ဖိုးကိုမရရှိနိုင်သည့်ပြ the နာကိုသူတို့ကြုံတွေ့ရနိုင်သည့်ပြ problem နာကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်ဤဖြစ်စဉ်၏ဤဖြစ်စဉ်၏ဖြစ်နိုင်ချေရှိသောအကြောင်းရင်းများကိုဆန်းစစ်ပြီးသက်ဆိုင်ရာဖြေရှင်းနည်းများကိုပေးလိမ့်မည်။
MySQLI_STMT :: Att_get Method သည် MySQLI_STMT :: Attri_set မှသတ်မှတ်ထားသည့်သတ်မှတ်ထားသော preprocessing strifying attribute များရရှိရန်အသုံးပြုသည်။ ဘုံဂုဏ်သတ္တိများပါဝင်သည်:
MySQLI_STMT_ATTR_UTTR_APDATE_MAX_Length
MySQLI_STMTT_ATTR_CARSOR_TYPE
MySQLI_STMT_ATTR_REFT_RAWS
ရိုးရှင်းတဲ့ဥပမာတစ်ခုပေးပါက:
$mysqli = new mysqli('m66.net', 'user', 'password', 'database');
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$stmt->attr_set(MYSQLI_STMT_ATTR_CURSOR_TYPE, MYSQLI_CURSOR_TYPE_READ_ONLY);
$cursorType = $stmt->attr_get(MYSQLI_STMT_ATTR_CURSOR_TYPE);
echo "Cursor Type: " . $cursorType;
အရာအားလုံးအဆင်ပြေမယ်ဆိုရင် $ cursortype က cursory type value set ကိုပြန်ပို့သင့်တယ်။
attribute ကိုမှန်ကန်စွာသတ်မှတ်ထားသည်မဟုတ်
Att_get သည် Attr_set မှတဆင့်သတ်မှတ်ထားသည့် attribute တန်ဖိုးများကိုသာရယူနိုင်သည်။ attribute ကိုဘယ်တော့မှမသတ်မှတ်ပါက attr_get သည် မှားယွင်းသော သို့မဟုတ်မမျှော်လင့်သောတန်ဖိုးကိုပြန်လည်ရရှိခဲ့သည်။
အချို့သောဂုဏ်သတ္တိများသည်အရေးအသားကိုသာထောက်ပံ့သော်လည်းမဖတ်ပါ အချို့သောဂုဏ်သတ္တိများကိုသာရေးသားထားပြီး attr_et သည် သူတို့၏တန်ဖိုးများကိုမဖတ်နိုင်ပါ။
MySQLI ယာဉ်မောင်းဗားရှင်းကန့်သတ်ချက်များသို့မဟုတ် bug များ
ကွဲပြားခြားနားသော PHP နှင့် MySQLI Drivers of attribributes များအတွက်အထောက်အပံ့များသည်အတိအကျမတူပါ။
မမှန်ကန်သော attribute စဉ်ဆက်မပြတ်သို့မဟုတ် type ခေါ်ဆိုမှုစဉ်အတွင်းအဆက်မပြတ်သတ်မှတ်ထားသည့် attribute သည်မလုံလောက်ပါက MySQLI_STMT_ATTR_TTR_ * * မဖတ်ပါ။
ဂုဏ်သတ္တိများ set ကိုသေချာအောင်လုပ်ပါ attr_et_get ကို မခေါ်မီသက်ဆိုင်ရာ attribute ကို attr_et_set ဖြင့်မှန်ကန်စွာသတ်မှတ်ထားကြောင်းသေချာပါစေ။ ဥပမာအားဖြင့်:
$stmt->attr_set(MYSQLI_STMT_ATTR_PREFETCH_ROWS, 10);
$value = $stmt->attr_get(MYSQLI_STMT_ATTR_PREFETCH_ROWS);
PHP နှင့် MySQLI ဗားရှင်းများကိုစစ်ဆေးပါ သင်အသုံးပြုနေသော PHP ဗားရှင်းနှင့် MySQLI extensions သည်နောက်ဆုံးပေါ်ဖြစ်သည်ကိုသေချာအောင်လုပ်ပါသို့မဟုတ်အနည်းဆုံးသင်အသုံးပြုလိုသောဂုဏ်သတ္တိများကိုထောက်ပံ့ရန်သေချာစေပါ။ PHP ဗားရှင်းကိုအဆင့်မြှင့်တင်ခြင်းသည်များသောအားဖြင့်လိုက်ဖက်သည့်ပြ issues နာများကိုဖြေရှင်းပေးသည်။
စာဖတ်ခြင်းနှင့်စာရေးခြင်းကိုသာရှောင်ကြဉ်ပါ Target attribute သည်စာဖတ်ခြင်းနှင့်စာဖတ်ခြင်းကိုသာစာဖတ်ခြင်းနှင့်ရေးသားခြင်းကိုရှောင်ရှားခြင်းရှိမရှိအတည်ပြုရန်တရားဝင်စာရွက်စာတမ်းများကိုစစ်ဆေးပါ။
သတင်းအချက်အလက်ကိုင်တွယ်ခြင်းနှင့် debugging သတင်းအချက်အလက်များကိုအသုံးပြုပါ attr_get ကို ခေါ်ဆိုပြီးနောက် Return Value ကိုစစ်ဆေးပြီးပြ the နာကိုရှာဖွေရန်အမှားမက်ဆေ့ခ်ျကိုဖမ်းယူရန် MySQLI_STMTM_ERRORR ကို အသုံးပြုပါ။
$value = $stmt->attr_get(MYSQLI_STMT_ATTR_CURSOR_TYPE);
if ($value === false) {
echo "Failed to get attribute: " . $stmt->error;
}
အခြားရွေးချယ်စရာများကိုသုံးပါ အချို့သော attribute တွေရဲ့အခြေအနေကိုအတည်ပြုဖို့လိုအပ်မယ်ဆိုရင် attribute တွေကိုတိုက်ရိုက်ဖတ်မယ့်အစားပရိုဂရမ်ယုတ္တိဗေဒဆိုင်ရာအချက်အလက်တွေကိုရှာဖွေခြင်းကိုစဉ်းစားနိုင်ပါတယ်။
MySQLI_STMT :: Attribeet သည် attribute ကိုသတ်မှတ်ထားခြင်း, PHP / MySQLI ဗားရှင်းနှင့် attribute ၏ဖတ်ခြင်းနှင့်ရေးခြင်း၏ဝိသေသလက္ခဏာများဖြင့်အသုံးပြုသည်။ အိမ်ခြံမြေတန်ဖိုးကိုမရရှိနိုင်ပါကပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုသတ်မှတ်ပြီးပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုဖတ်ရှုသည့်အထောက်အပံ့များကိုအသုံးပြုထားကြောင်းသေချာပါစေ။ ထို့အပြင်ကျိုးကြောင်းဆီလျော်သောအမှားကိုင်တွယ်မှုနှင့်ဗားရှင်းအဆင့်မြှင့်တင်ခြင်းသည်ပြ problems နာများကိုဖြေရှင်းရန်နှင့်ဖြေရှင်းခြင်းအတွက်သော့ချက်ဖြစ်သည်။