PHP ၏ MySQLI extension တွင် MySQLI_STMT :: Attr_et သည် ပြင်ဆင်ထားသည့်ဖော်ပြချက်၏တန်ဖိုးကိုရရှိရန်အသုံးပြုသောနည်းလမ်းဖြစ်သည်။ ၎င်း၏ Return Value အမျိုးအစားနှင့်လက်တွေ့ကျသောလျှောက်လွှာစွမ်းရည်ကိုနားလည်ခြင်းသည်ထိရောက်သောတည်ငြိမ်သောဒေတာဘေ့စ်စစ်ဆင်ရေးကုဒ်ကိုဖွံ့ဖြိုးရန်အလွန်အရေးကြီးသည်။ ဤဆောင်းပါးသည် MySQLI_STMT :: Attr_get အမျိုးအစားကိုအသေးစိတ်ဖော်ပြပြီး၎င်းကိုဤ function ကိုပိုမိုကောင်းမွန်စေရန်ကူညီရန်ဘုံအသုံးပြုမှုအခြေအနေများဖြင့်ပေါင်းစပ်ပါလိမ့်မည်။
MySQLI_STMT :: Attr_et သည် MySQLI Preprocessing statement statement object ၏နည်းလမ်းဖြစ်သည်။ ၎င်းသည် attribute တစ်ခု၏လက်ရှိတန်ဖိုးကိုရရှိရန်အသုံးပြုသည်။ ၎င်း၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်ကိုအောက်ပါအတိုင်းဖြစ်သည် -
public int|bool mysqli_stmt::attr_get(int $attr)
$ Attach သည် attribute identifier ကိုကိုယ်စားပြုရန်ကိန်းဂဏန်းတစ်ခုဖြစ်သည့်ကိန်းဂဏန်းဖြစ်သည်။
MySQLI_STMT :: Att_GET ::
Int - အမြင့်ဆုံး packet အရွယ်အစား, အချိန်ကုန်အချိန်စသည့် attribute ၏တန်ဖိုးကိုပြန်ပို့သည်။
Boolean : attribute attribute ကိုဖွင့်ထားမလားဆိုတာပြတယ်။
အမှန်တကယ် applications များအနေဖြင့် Properties အများစုသည်ကိန်းဂဏန်းများကိုပြန်ပို့ပေးသော်လည်းဂုဏ်သတ္တိများပေါ် မူတည်. သူတို့သည် boolean တန်ဖိုးများကိုပြန်လည်ပေးပို့နိုင်သည်။
MySQLI မှ SMYSQLI မှအထောက်အကူပြုသောဘုံ attribute များသည်အောက်ပါအတိုင်းဖြစ်သည် -
စဉ်ဆက်မပြတ် attribute | ဥပမာပြပါ | Value အမျိုးအစားကိုပြန်သွားပါ | ဥပမာပြန်လာတန်ဖိုး |
---|---|---|---|
MySQLI_STMT_ATTR_UTTR_APDATE_MAX_Length | အများဆုံးအရှည်၏ update ကိုခွင့်ပြုရန်ရှိမရှိ | bool | ဟုတ်တယ် မှားလား |
MySQLI_STMTT_ATTR_CARSOR_TYPE | cursor အမျိုးအစား | အချင်းစား | 0 (cursor မရှိပါ), 1 (ဖတ်ရန်သာ) |
MySQLI_STMT_ATTR_REFT_RAWS | prefetched အတန်းအရေအတွက် | အချင်းစား | 100 |
mysqli_stmt_attr_read_only | သာဖတ်ပါ | bool | ဟုတ်တယ် မှားလား |
MySQLI_STMT :: Attr_et ကို အသုံးပြု. Return Value ကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသသည့်အမှန်တကယ် PHP ကုဒ်ပါသောဥပမာတစ်ခုဖြစ်သည်။
<?php
$mysqli = new mysqli("m66.net", "username", "password", "database");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
if (!$stmt) {
die("Preprocessing Statement ဖန်တီးမှုမအောင်မြင်ပါ: " . $mysqli->error);
}
// prefetched အတန်းအရေအတွက် attribute ကိုရယူပါ
$prefetchRows = $stmt->attr_get(MYSQLI_STMT_ATTR_PREFETCH_ROWS);
echo "လိုင်းအရေအတွက်: " . $prefetchRows . PHP_EOL;
// cursor အမျိုးအစားရယူပါ
$cursorType = $stmt->attr_get(MYSQLI_STMT_ATTR_CURSOR_TYPE);
echo "cursor အမျိုးအစား: " . $cursorType . PHP_EOL;
// အများဆုံးအရှည်ကို update ကိုခွင့်ပြုပါ
$updateMaxLength = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
echo "နောက်ဆုံးသတင်းများကိုအများဆုံးအရှည်သို့ခွင့်ပြုပါ: " . ($updateMaxLength ? 'ဟုတ်ကဲ့' : 'မဟုတ်') . PHP_EOL;
$stmt->close();
$mysqli->close();
?>
အမှားကိုင်တွယ်ခြင်း - attr_et သည် ရှုံးနိမ့်မှုအပေါ်ခြွင်းချက်မချမိနိုင်သော်လည်းမျှော်လင့်ထားသည့်အတိုင်းပြန်လာမည်မဟုတ်ပါ။ MySQLI_STMT :: အမှားအယွင်း ကိုစောင့်ကြည့်ရန်အမှားကိုပေါင်းစပ်ရန်အကြံပြုသည်။
အိမ်ခြံမြေရွေးချယ်ရေး - ဂုဏ်သတ္တိများအားလုံး MySQL ဗားရှင်းနှင့်ယာဉ်မောင်းများအားလုံးတွင်မသုံးနိုင်ပါ။ လက်ရှိပတ်ဝန်းကျင်မှပံ့ပိုးထားသောအိမ်ခြံမြေစာရင်းကိုကြည့်ရှုရန်အကြံပြုသည်။
စွမ်းဆောင်ရည်ထည့်သွင်းစဉ်းစားချက်များ - စာဖတ်ခြင်း attribribute များ၏ overhead နိမ့်သည်, သို့သော်မလိုအပ်သော attribute ရယူရန်အတွက်မကြာခဏခေါ်ဆိုမှုများသည်စွမ်းဆောင်ရည်ကိုအကျိုးသက်ရောက်စေပြီးကျိုးကြောင်းဆီလျော်စွာအသုံးပြုလိမ့်မည်။
MySQLI_STMTMT :: Attr_get ၏ return_get-attr_get-attr_get-attr_get သည်အများအားဖြင့်ကိန်းဂဏန်းများသို့မဟုတ် boolean ဖြစ်သည်။ ဤပြန်လည်ထူထောင်ရေးတန်ဖိုးများနှင့် attribute များ၏အဓိပ္ပာယ်ကိုကျွမ်းကျင်စေခြင်းနှင့် attributes များသည်ပိုမိုအားကောင်းတဲ့ဒေတာဘေ့စ်ဝင်ရောက်ခွင့်ကုဒ်များကိုရေးရန်ကူညီနိုင်သည်။ အမှန်တကယ်စီးပွားရေးလိုအပ်ချက်များကိုပေါင်းစပ်ပြီးဤနည်းလမ်းကိုအသုံးပြုခြင်းသည်ကုဒ်၏ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုပိုမိုကောင်းမွန်စေနိုင်သည်။