PHP တွင် MySQLI_STMT :: Attr_et သည် ပြင်ဆင်ထားသည့်ဖော်ပြချက် attribute ၏တန်ဖိုးကိုရရှိရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဒီ function ကိုအသုံးမ 0 င်ပေမယ့် apporting application application application application application application application leading state leader leader leader leader leader leader လုပ်ခြင်းစသည့်သီးခြား application ဇာတ်လမ်းတစ်ပုဒ်တွင်ဖော်ပြထားသောအခြေအနေသို့မဟုတ် configuration information ကိုဖတ်ရန်အသုံးပြုနိုင်သည်။ ဆက်သွယ်မှုအမျိုးမျိုးဝန်းကျင်တွင် (ထိုကဲ့သို့သောဒေတာဘေ့စ်ဆက်သွယ်မှုမျိုးစုံကိုတစ်ချိန်တည်းကိုင်တွယ်ခြင်းသို့မဟုတ်ဆက်သွယ်မှုရေကူးကန်ကို အသုံးပြု. ) ဤလုပ်ဆောင်မှုကိုမှန်ကန်စွာအသုံးပြုရန်အထူးအရေးကြီးသည်။ perspective မှ MySQLI_STMM :: Attr_get ကို အသုံးပြုသောအခါအာရုံစိုက်ရန်လိုအပ်သည့်အဓိကပြ issues နာများစွာကိုအောက်တွင်ကျွန်ုပ်တို့ခွဲခြမ်းစိတ်ဖြာပါလိမ့်မည်။
MySQLI ဗိသုကာတွင် MySQLI_STMT အရာဝတ်ထုသည် MySQLI connection တစ်ခုနှင့်သက်ဆိုင်သည်။ ဆက်သွယ်မှုအသစ်တစ်ခုဖန်တီးတဲ့အခါ
$conn = new mysqli("localhost", "user", "password", "database");
$stmt = $conn->prepare("SELECT * FROM users WHERE id = ?");
ဤအချိန်တွင် $ stmt သည် $ cons ပေါ်တွင်မူတည်သည်။ ဆိုလိုသည်မှာသင်သည် $ stmt ကို အခြား connection တစ်ခုပေါ်တွင်မသုံးနိုင်ပါ, သို့မဟုတ်အခြားဆက်သွယ်မှုတစ်ခုမှထုတ်ပြန်ကြေငြာချက်အတွက် $ stmt attribute ကိုသင်မသုံးနိုင်ပါ။ ၎င်းသည်အထူးသဖြင့်ဆက်သွယ်မှုမျိုးစုံတွင်အထူးအရေးကြီးသည် (ထိုကဲ့သို့သောကွဲပြားခြားနားသောအိမ်ရှင်များသို့မဟုတ်စာဖတ်ခြင်း - ရေးသော Master Master DatabasesS) နှင့်တရားဟောသောအမှားများသို့မဟုတ်တရားမဝင်သောတန်ဖိုးများကိုအလွယ်တကူ ဦး ဆောင်လမ်းပြနိုင်သည်။
PHP ကိုယ်တိုင်ကတစ်ကိုယ်ရေချည်မျှင်တစ်ခုဖြစ်သော်လည်း FPM Mode သို့မဟုတ် asynchronous frameworks တွင်တောင်းဆိုမှုများသည်မတူညီသောဆက်သွယ်မှုများကိုတစ်ပြိုင်တည်းလည်ပတ်နိုင်သည်။ MySQLI extension သည် thread-safe (PHP စုစည်းစဉ်အတွင်းချည်နှောင်ထားသောအထောက်အပံ့များဖွင့်ထားသည်) MySQLI_STMT :: Attr_et သည် cross-connection ပြည်နယ်မြင်သာမှုရှိပါသည်။ သင် attra_get ကိုဆက်သွယ်မှုတစ်ခုပေါ်တွင်သင်ခေါ်ဆိုပါက Read Rears သည် connection constitionxext ကိုသာကိုယ်စားပြုပြီးကမ္ဘာလုံးဆိုင်ရာရည်ညွှန်းအဓိပ္ပာယ်မရှိပါ။
Att_GET () နည်းလမ်းဖြင့်ထောက်ပံ့ထားသော attribute keys များသည်အလွန်အကန့်အသတ်ရှိသည်။ ဥပမာအားဖြင့်, သင်သည်အောက်ပါကုဒ်ကိုအသုံးပြုပါက -
$value = $stmt->attr_get(MYSQLI_STMT_ATTR_CURSOR_TYPE);
သငျသညျ cursor type (ထိုကဲ့သို့သော mysqli_cursor_type_read_only ) ကိုဖတ်ရန်မျှော်လင့်ထားပေမယ့်နောက်ခံမောင်းသူသို့မဟုတ်ဗားရှင်းသည်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုကိုမထောက်ခံပါကပြန်ပြောင်းတန်ဖိုးသည် မှားယွင်းသောကြောင့် သတိပေးချက်တစ်ခုဖြစ်ပြီးသတိပေးချက်တစ်ခုဖြစ်ပေါ်စေနိုင်သည်။ ၎င်းသည် Multi-connection တွင်အထူးဂရုပြုရန်လိုအပ်သည်။ Multi-version database clusters များနှင့်ဖြစ်နိုင်ချေရှိသောဒေတာဘေ့စ်အပြုအမူများအားလုံးကိုစမ်းသပ်ရမည်။
ဆက်သွယ်မှုပျက်သွားသည် (သို့) တက်ကြွစွာပိတ်ထားပြီးနောက်၎င်းသည် ဒေါ်လာ stmt variable ကိုရှိနေသေးလျှင်ပင်၎င်း၏အခြေခံလက်ကိုင်သည်မမှန်ကန်ပါ။ ဤအချိန်တွင် attr_get_et () ကို ခေါ်ဆိုခြင်း () ဤအချိန်တွင် မှားယွင်းစွာ ပြန်လာပြီးအမှားတစ်ခုသတင်းပို့နိုင်သည်။ ဥပမာအားဖြင့်:
$conn->close();
$value = $stmt->attr_get(MYSQLI_STMT_ATTR_CURSOR_TYPE); // ဆုံးရှုံး
connection pool တွင် ("Connection pool တွင်ငှားရမ်းခ) ရှိငှားရမ်းခြင်းကဲ့သို့သော" ယာယီပြန်လည်အသုံးပြုပါကထိုသို့သောပြ problems နာများကိုပိုမိုကျယ်ပြန့်စွာပြန်လည်အသုံးပြုပါကပိုမိုရှုပ်ထွေးနိုင်သည်။ ထို့ကြောင့် attr_get ကို မခေါ်မီဆက်သွယ်မှုကိုရရှိနိုင်ကြောင်းသေချာစေသင့်သည်။
Att_get () သည်ဖတ်ရန်တစ်ခုတည်းသော function တစ်ခုဖြစ်သော်လည်းအချို့သော attribute တန်ဖိုးများကိုဖတ်ရှုခြင်းသည် 0 န်ဆောင်မှုခံယူသူယန္တရားများကိုစတင်ခြင်းကဲ့သို့သောသွယ်ဝိုက်သောအပြုအမူများကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤအပြုအမူသည်တရားဝင်စာရွက်စာတမ်းများတွင်ရှင်းရှင်းလင်းလင်းမသိရသော်လည်းတိကျသောအကောင်အထည်ဖော်မှုများတွင်ဖြစ်နိုင်သည်။ ထို့ကြောင့်အဓိကစီးပွားရေးယုတ္တိဗေဒဆိုင်ရာမကြာခဏခေါ်ဆိုမှုများကိုရှောင်ရှားရန် Att_GETCHCE CODE ကိုအသုံးပြုရန်ကန့်သတ်ရန်အကြံပြုသည်။
MySQLI_STMT :: attr_get ကိုဖတ်ရှုခြင်းအတွက်ဥပမာတစ်ခုဖြစ်သည်။