PHP ၏ MySQLI extension ကို Database Operations လုပ်ငန်းစဉ်ကိုသုံးရန်အသုံးပြုသည့်အခါ MySQLI_STMT :: AttR_Get function ကိုအသုံးပြုသည်။ သို့သော် developer များကဤလုပ်ဆောင်မှုသည်မမျှော်လင့်သောအချက်အလက်များပြန်ရောက်လာသည့်အခြေအနေများမကြာခဏကြုံတွေ့ရလေ့ရှိပြီးအစီအစဉ်၏ယုတ္တိဗေဒဆိုင်ရာအမှားများကိုဖြစ်ပေါ်စေသည်။ MySQLI_STMTM :: AttR_GEGTIRT function ကိုပေးသည့်ချွင်းချက်၏အကြောင်းပြချက်ကိုခွဲခြမ်းစိတ်ဖြာရန် PHPC code များကိုဥပမာဆန်းစစ်ရန်ဤဆောင်းပါးသည် PHP Code ကိုဥပမာအားဖြင့်ပေါင်းစပ်ပြီးသက်ဆိုင်သောဖြေရှင်းနည်းများကိုပေးရမည်။
MySQLI_STMT :: AttR_Get သည် MySQLI_STMT အတန်းအစား၏နည်းလမ်းဖြစ်သည်။ ၎င်း၏ပုံမှန်အသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$mysqli = new mysqli("m66.net", "user", "password", "database");
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
if (!$stmt) {
die("Prepare failed: " . $mysqli->error);
}
$attr = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
var_dump($attr);
ဤလုပ်ဆောင်ချက်သည် parameter တစ်ခုအနေဖြင့်စဉ်ဆက်မပြတ် attribute ကိုလက်ခံပြီးသက်ဆိုင်ရာ attribute ကိုပြန်ပို့သည်။
Attre_get function ၏ parametersters သည်တရားဝင်နှင့်ထောက်ပံ့ထားသော attribute containsinants ဖြစ်ရမည်။
MySQLI_STMT_ATTR_UTTR_APDATE_MAX_Length
MySQLI_STMTT_ATTR_CARSOR_TYPE
MySQLI_STMT_ATTR_REFT_RAWS
အကယ်. မမှန်ကန်သော parameter သည်မမှန်မကန်သို့မဟုတ်မထောက်ပံ့သောသို့မဟုတ်မထောက်ပံ့သောစဉ်ဆက်မပြတ်ကဲ့သို့သောလုပ်ဆောင်မှုသည် မှားယွင်းသော သို့မဟုတ်အခြားမမျှော်လင့်သောအချက်အလက်များကိုပြန်ပို့နိုင်သည်။
Preprocessing Stata ကိုမအောင်မြင်ပါက attr_get နည်းလမ်းကိုခေါ်ဆိုခြင်းကခြွင်းချက်ရလဒ်ကိုပြန်ပို့ပေးလိမ့်မည်။ ဥပမာအားဖြင့်:
$stmt = $mysqli->prepare("INVALID SQL");
$attr = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
$ stmt သည် မှားယွင်းသော ကြောင့် attress_get ကို ခေါ်ဆိုခြင်းကအမှားတစ်ခုသို့မဟုတ်မမျှော်လင့်သောအချက်အလက်များကိုပြန်ပို့လိမ့်မည်။
MySQLI_STMT :: AttR_GET function ၏အကောင်အထည်ဖော်မှုအသေးစိတ်အချက်အလက်များသည် MySQL ဆာဗာဗားရှင်းသို့မဟုတ် PHP ဗားရှင်းများတွင်ကွဲပြားနိုင်သည်။ အချို့သောဂုဏ်သတ္တိများကိုအောက်ပိုင်းဗားရှင်းတွင်မထောက်ပံ့ပါ။
attr_get ကို ခေါ်သည့်အခါဝင်လာသောစဉ်ဆက်မပြတ်သည်မှန်ကန်ကြောင်းကိုအတည်ပြုရန်သေချာပါစေ။
$valid_attrs = [
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH,
MYSQLI_STMT_ATTR_CURSOR_TYPE,
MYSQLI_STMT_ATTR_PREFETCH_ROWS,
];
$attr_key = MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH;
if (in_array($attr_key, $valid_attrs, true)) {
$attr_value = $stmt->attr_get($attr_key);
var_dump($attr_value);
} else {
echo "Invalid attribute key.";
}
ကြိုတင်ပြင်ဆင်မှုကို ခေါ်ပြီးနောက် $ stmt သည် မ မှားကြောင်း အတည်ပြုရမည်။
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
if (!$stmt) {
die("Prepare failed: " . $mysqli->error);
}
$attr = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
var_dump($attr);
attrage attriget သည် ခြွင်းချက်တစ်ခုသို့ပြန်ပို့ပါက MySQL server နှင့် PHP ကိုအဆင့်မြှင့်တင်ရန်ကြိုးစားပါ။
MySQLI_STMT :: Attr_et သည် မမျှော်လင့်သောအချက်အလက်များပြန်ပို့ရသည့်အဓိကအကြောင်းရင်းများမှာ -
အဆိုပါ parameter သည်မှားယွင်းသော attribute အစဉ်အမြဲ passes passes ။
အဆိုပါ preprocessing ကြေညာချက်ကိုအောင်မြင်စွာဖန်တီးသို့မဟုတ်စတင်မထားဘူး။
ဗားရှင်းသဟဇာတကိစ္စများ။
attribute parameters တွေကိုစံသတ်မှတ်ချက်ကိုစံသတ်မှတ်ချက်အားဖြင့်ကြိုတင်သတ်မှတ်ထားသည့်ထုတ်ပြန်ချက်များကိုစစ်ဆေးပြီးဆော့ဖ်ဝဲဗားရှင်းကိုအဆင့်မြှင့်တင်ခြင်းသည်ပုံမှန်မဟုတ်သောဒေတာများဖြစ်ပွားခြင်းကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။ အထက်ပါကုဒ်များဥပမာများကိုပေါင်းစပ်ပြီး developer များသည်ဒေတာဘေ့စ်စစ်ဆင်ရေး၏လုံခြုံရေးနှင့်ယုံကြည်စိတ်ချရမှုတိုးတက်စေရန် attr_get နည်းလမ်းကိုပိုမိုအသုံးပြုနိုင်သည်။