PHP တွင် MySQLI_STMT အတန်းသည်ကြိုတင်ပြင်ဆင် ထား သည့်ထုတ်ပြန်ချက်များကိုအကောင်အထည်ဖော်ရန်အသုံးပြုသောအဓိကအစိတ်အပိုင်းဖြစ်သည်။ PHP ဗားရှင်းများ၏ဆင့်ကဲဖြစ်စဉ်သည်အထူးသဖြင့် PHP 7 မှ PHP 7 မှ PHP 8 မှ PHP 8 မှ PHP 8 မှ PHP 8 မှ PHP 8 မှပံ့ပိုးမှုနှင့်စွမ်းဆောင်ရည်မှာလည်းသိသိသာသာပြောင်းလဲသွားသည်။ ဤဆောင်းပါးသည်ဤဗားရှင်းနှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုဤဗားရှင်းနှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုဆန်းစစ်ကြည့်ရှုလိမ့်မည်။
MySQLI_STMT :: Attr_et သည် MySQLI_STMT အတန်း၏နည်းလမ်းဖြစ်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$attr_value = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
ဤလုပ်ဆောင်ချက်သည် parameter တစ်ခုအနေဖြင့်စဉ်ဆက်မပြတ် attribute ကိုလက်ခံပြီးသက်ဆိုင်ရာ attribute ကိုပြန်ပို့သည်။
PHP 7 တွင် MySQLI_STMM :: Att_Get function ကိုမိတ်ဆက်ခဲ့ပြီး, ထောက်ခံသည့်ဂုဏ်သတ္တိများသည်အကန့်အသတ်ရှိသည်။ အများအားဖြင့်ထောက်ခံမှု attribute တွေမှာ -
MySQLI_STMT_ATTR_UTTR_APDATE_MAX_Length
MySQLI_STMTT_ATTR_CARSOR_TYPE
MySQLI_STMT_ATTR_REFT_RAWS
mysqli_stmt_attrparams
သို့သော် PHP 7 သည်အသစ်အဆန်းအသစ်များသို့မဟုတ်တိုးချဲ့ထားသောဂုဏ်သတ္တိများကိုမထောက်ပံ့ပါ။ ထို့အပြင်အမှားကိုင်တွယ်ယန္တရားအတော်လေးရိုးရှင်းပါသည်။ အကယ်. မထောက်ပံ့သောပိုင်ဆိုင်မှုများကိုဖြတ်သန်းသွားပါကများသောအားဖြင့် မှားယွင်းသော သို့မဟုတ်သတိပေးချက်တစ်ခုဖြစ်ပေါ်လိမ့်မည်။
နမူနာကုဒ်:
$mysqli = new mysqli("m66.net", "user", "pass", "database");
$stmt = $mysqli->prepare("SELECT * FROM test WHERE id = ?");
if ($stmt) {
$attr = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
var_dump($attr);
} else {
echo "Prepare failed: " . $mysqli->error;
}
PHP 8 သည် MySQLI_STMT :: Attr_get သို့တိုးမြှင့်မှုများပြုလုပ်ခဲ့သည်။
ပိုပြီး attribute ကိုထောက်ခံမှု
ပိုမိုကောင်းမွန်သော cursor ထိန်းချုပ်မှုနှင့် Excription Parameter Information ကဲ့သို့သော PHP 8 တွင် PHP 8 တွင် PHP 8 တွင်ထည့်သွင်းထားသည်။
အမှားကိုင်တွယ်ပုံပိုမိုတင်းကြပ် attrapported attribute တွေကို ဖြတ်ဖို့လို့ခေါ်တဲ့ PHP 8 ဟာ မှားယွင်းတဲ့ လှည့်စားခြင်း,
စွမ်းဆောင်ရည်အကောင်းမြင်
PHP 8 သည်အထူးသဖြင့်ကြိုတင်ကြေငြာချက်စစ်ဆင်ရေးများ၏ကြီးမားသောသုတ်ခြင်းများတွင်အိမ်ခြံမြေဝယ်ယူမှု၏ထိရောက်မှုကိုတိုးတက်စေသည်။
နမူနာကုဒ်:
$mysqli = new mysqli("m66.net", "user", "pass", "database");
$stmt = $mysqli->prepare("SELECT * FROM test WHERE id = ?");
if ($stmt) {
try {
$attr = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
var_dump($attr);
} catch (mysqli_sql_exception $e) {
echo "Error: " . $e->getMessage();
}
} else {
echo "Prepare failed: " . $mysqli->error;
}
ဗားရှင်း compatibatibility <br> အကယ်. သင်၏စီမံကိန်းသည် PHP 7 နှင့် PHP 8 နှင့်သဟဇာတဖြစ်ရန်လိုအပ်ပါက attr_get_get ကိုမခေါ် မီ PHP ဗားရှင်းကိုရှာဖွေရန်နှင့်ကြိုတင်ခန့်မှန်း။ မရသောအမှားများကိုကာကွယ်ရန်ချွင်းချက်များကိုရှာဖွေရန်အကြံပြုသည်
စဉ်ဆက်မပြတ်အတည်ပြုချက် attribute ကွဲပြားသော MySQL client ဗားရှင်းများနှင့် PHP ဗားရှင်းများကထောက်ပံ့သော attribute contains များသည်ကွဲပြားခြားနားသည်။ တရားဝင်လက်စွဲစာအုပ်ကိုစစ်ဆေးရန်သို့မဟုတ် attribute များသည် runtime တွင်မှန်ကန်မှုရှိမရှိသေချာစွာစစ်ဆေးပါ။
ချို့ယွင်းချက်နှင့်ခြွင်းချက်ကိုင်တွယ်
PHP 8 သည်ခြွင်းချက်ကိုင်တွယ်ယန္တရားကိုတိုးတက်စေသည် ။
ယေဘုယျအားဖြင့် PHP 8 သည် MySQLI_STMT :: Attr_get function ကိုအဓိကအားဖြင့်ဖော်ပြထားသော PHP 7 နှင့်နှိုင်းယှဉ်ပါကသိသိသာသာတိုးတက်မှုများပြုလုပ်ခဲ့သည်။
Proprocessing Properties များကိုပိုမိုအသုံးချခြင်း,
တင်းကျပ်စွာနှင့်ရှင်းလင်းသောအမှားနှင့်ခြွင်းချက်ယန္တရားများ,
စွမ်းဆောင်ရည်တိုးတက်မှုအားဖြင့်ယူဆောင်စွမ်းဆောင်ရည်တိုးတက်မှု။
ထို့ကြောင့် developer များက PHP 8 သို့အဆင့်မြှင့်တင်ရန် PHP 8 သို့အဆင့်မြှင့်တင်ရန်ဤတိုးတက်မှုများကိုအပြည့်အဝအသုံးချရန်အကြံပြုသည်။