ပြင်ဆင်ထားသည့်ထုတ်ပြန်ချက်များသည်ဒေတာဘေ့စ်လုပ်ငန်းများအတွက် PHP ၏ MySQLI extension ကိုအသုံးပြုသောအခါအစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည် SQL injection ကိုထိထိရောက်ရောက်တားဆီးရုံသာမက Code ၏ထိန်းသိမ်းနိုင်မှုနှင့်စွမ်းဆောင်ရည်ကိုလည်းတိုးတက်စေသည်။ ဤ preprocessing ထုတ်ပြန်ချက်များကို debugging နှင့် optimizing လုပ်သည့်အခါ MySQLI_STMT :: AttR_Get function သည်အသေးစိတ်ဖော်ပြချက်ကိုနားလည်ရန်နက်နက်နဲနဲနည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည်၎င်း၏အသုံးပြုမှုနှင့်လက်တွေ့ကျသောအပလီကေးရှင်းများကိုအသေးစိတ်ရှင်းပြပါမည်။
MySQLI_STMT :: AttR_Get သည် MySQLI_STMT အတန်း၏နည်းလမ်းတစ်ခုဖြစ်သည်။ လက်မှတ်ရေးထိုးထားသော attribute တန်ဖိုးများကိုရယူရန်အသုံးပြုသော MySQLI_STMT အတန်း၏နည်းလမ်းဖြစ်သည်။ ဤ attribute တန်ဖိုးများကိုများသောအားဖြင့်ကြားခံသို့မဟုတ် update အရေအတွက်ကဲ့သို့သောကြေညာချက်မှပြုလုပ်သောနောက်ခံအပြုအမူအချို့ကိုပြုပြင်ပြောင်းလဲရန်သို့မဟုတ်ကြည့်ရှုရန်အသုံးပြုလေ့ရှိသည်။ ရှုပ်ထွေးသောမေးမြန်းချက်များကို debugging လုပ်သည့်အခါသို့မဟုတ်စွမ်းဆောင်ရည်မြှင့်တင်ခြင်းများကိုပိုမိုကောင်းမွန်စေရန်ဤနည်းလမ်းသည်အထူးအသုံးဝင်သည်။
int mysqli_stmt::attr_get ( int $attr )
$ attrie : MySQLI_STMT_ATTR_ATTRATITE_UPDATITE_AX_PAX_AX_LAX_Length စသည်တို့ကိုမေးမြန်းဖို့လိုသည့် attribute containtants စသည်တို့ကို
Return Value: အောင်မြင်သောအခါ attribute ၏တန်ဖိုးကိုပြန်လည်ရယူပြီးပျက်ကွက်သည့်အခါ မှားယွင်းသော နောက်သို့ပြန်ပို့သည်။
ဤပိုင်ဆိုင်မှုသည် စတိုးဆိုင် () သည် လယ်ကွင်း၏အမြင့်ဆုံးအရှည်ကိုမွမ်းမံခြင်းရှိမရှိကိုထိန်းချုပ်ရန်အသုံးပြုသည်။ ဤပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုအားဖွင့်ရန်သင့်အားပိုမိုတိကျစွာသိရှိနိုင်ရန်ကော်လံတစ်ခုစီအတွက်အများဆုံးအချက်အလက်အရှည်ကိုပိုမိုတိကျစွာသိရှိနိုင်သည်။
$mysqli = new mysqli("localhost", "user", "password", "database");
$stmt = $mysqli->prepare("SELECT name FROM users");
$stmt->execute();
$stmt->store_result();
$maxLength = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
if ($maxLength) {
echo "ဂုဏ်သတ္တိများ enabled:အများဆုံးကော်လံအရှည် updated\n";
} else {
echo "ဂုဏ်သတ္တိများကိုဖွင့်မထားဘူး:အများဆုံးကော်လံအရှည်မွမ်းမံ\n";
}
ဤနည်းအားဖြင့် MySQLI_STMTMT :: Val_Metadata () ကိုမှီခိုအားထားနိုင်သလား။
bind_result () နှင့် fetch () ကို သုံး. စွမ်းဆောင်ရည်ညံ့ဖျင်းသောဆင်းရဲနွမ်းပါးမှုကိုသင်ရှာဖွေသောအခါ၎င်းသည် buffering mode နှင့်ဆက်စပ်နေနိုင်သည်။ Att_et သည် ကြားခံဖွင့ ် ထား နိုင်ခြင်းရှိမရှိကိုတိုက်ရိုက်ရယူနိုင်သော်လည်း,
$stmt = $mysqli->prepare("SELECT large_column FROM big_table");
$stmt->execute();
$stmt->store_result();
if ($stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH)) {
echo "နောက်ဆုံးပေါ်ကော်လံ၏အများဆုံးအရှည်ကိုဖွင့်ထားသည်,မှတ်ဉာဏ်အသုံးပြုမှုကိုတိုးမြှင့်နိုင်သည်。\n";
} else {
echo "Update ကော်လံအရှည် enabled မဟုတ်ပါဘူး,fetch ဖြစ်ကောင်းပိုမိုမြန်ပေမယ့်တိရှည်အရှည်。\n";
}
Update_max_length ကို သာလိုအပ်လျှင်သာ Enable လုပ်ပါ ။ ကော်လံတစ်ခုစီအတွက်အများဆုံးအရှည်သတင်းအချက်အလက်ကိုမှီခိုမည့်အစားဒေတာကိုဖြတ်သန်းမည့်အစားဤပစ္စည်းဥစ်စာကိုမလိုအပ်ပါ။
attribets များနှင့်ဆက်စပ်မှုကိုမှန်ကန်စွာ Attribute : attribrome တန်ဖိုးကိုအကောင်အထည်ဖော်မီ attribeset ကို သုံးပါ။ configuration ကို execution ပြီးနောက် attr_et_get မှတစ်ဆင့်သက်ရောက်မှုရှိမရှိစစ်ဆေးပါ။
$stmt->attr_set(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH, true);
...
$val = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
အမှန်တကယ်စီးပွားရေးအခြေအနေများအပေါ် အခြေခံ. Buffering Mode ကိုရွေးချယ်ပါ ။ ကြီးမားသောဒေတာ volume အသံအတိုးအကျယ်နှင့်တင်းကျပ်စွာမှတ်ဉာဏ်ရှိသောအခြေအနေများအတွက် , ဤအချိန်တွင် Atto_get မှပြန်လာသောအများဆုံးကော်လံအရှည်သည်တိကျလိမ့်မည်, သို့သော်စွမ်းဆောင်ရည်သည်ပိုမိုမြင့်မားလိမ့်မည်။
ဖွံ့ဖြိုးရေးပတ် 0 န်းကျင်တွင် attr_get ၏ရလဒ်များကိုပိုမိုလွယ်ကူစွာခွဲခြမ်းစိတ်ဖြာခြင်းအတွက် attr_get ၏ရလဒ်များကိုရေးနိုင်သည်။
file_put_contents('/var/log/mysqli_debug.log', "UPDATE_MAX_LENGTH: " . $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH) . "\n", FILE_APPEND);
ဤနည်းလမ်းသည်ရှုပ်ထွေးသောစနစ်များတွင်နှေးကွေးသောစုံစမ်းမှုနှေးကွေးခြင်းနှင့်အပြုအမူခွဲခြမ်းစိတ်ဖြာခြင်းအတွက်အထူးသဖြင့်သင့်လျော်သည်, developer များပြ problems နာများ၏အရင်းအမြစ်ကိုလျင်မြန်စွာရှာဖွေရန်
သင်သည် M66.net တွင်အသုံးပြုသူစာရင်းစာစနစ်ကိုတီထွင်ပြီးစားပွဲ၌ကွင်းအတွင်းကော်လံအကျယ်ကို align လုပ်ရန်လိုအပ်သည်ဆိုပါစို့။ ဤအချိန်တွင်ကော်လံတစ်ခုချင်းစီ၏အများဆုံးအရှည်ရရှိရန် attr_get နှင့် store_result ကို သုံးနိုင်သည်။
$stmt = $mysqli->prepare("SELECT username, email FROM users LIMIT ?, ?");
$stmt->bind_param("ii", $offset, $limit);
$stmt->execute();
$stmt->store_result();
if ($stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH)) {
$meta = $stmt->result_metadata();
while ($field = $meta->fetch_field()) {
echo "လယ်ကွင်း {$field->name} အများဆုံးအရှည်သည်:{$field->max_length}\n";
}
}
ဤနည်းအားဖြင့် HTML ဇယား၏ကော်လံအကျယ်ကိုအသုံးပြုသူမျက်နှာပြင်၏ရှေ့နောက်ညီညွတ်မှုကိုတိုးတက်စေရန် dynamically ထိန်းချုပ်နိုင်သည်။