PHP ၏ MySQLI extension ကိုပြင်ဆင်ရန်ပြင်ဆင်ထားသောထုတ်ပြန်ချက်များကိုပြုလုပ်ရန်အသုံးပြုသောအခါ developer များသည် MySQLI_STMT အတန်းရှိနည်းလမ်းအမျိုးမျိုးနှင့်အဆက်အသွယ်ရှိကြသည်။ ၎င်းတို့အနက် MySQLI_STMM :: Attr_et () သည်အတိမ်အနက်တွင်မရှိသလောက်ဆွေးနွေးထားသည့်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အထူးသဖြင့် MySQLI_STMT :: fetch () ကိုခေါ်ပြီးနောက် attr_get () ကို ခေါ်ဆိုခြင်းက၎င်း၏တိကျသောအရေးပါမှုနှင့်ရည်ရွယ်ချက်ရှိရှိ developer အချို့ကိုရှုပ်ထွေးစေနိုင်သည်။ ဤဆောင်းပါးသည်ဤလုပ်ဆောင်မှု၏အပြုအမူကိုနက်နက်နဲနဲလေ့လာသုံးသပ်ပြီးအမှန်တကယ်ကုဒ်များနှင့်ပေါင်းစပ်။ ရှင်းပြပါလိမ့်မည်။
MySQLI_STMT :: Att_Get () သည် MySQLI_STMT အရာဝတ်ထုများ၏နည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။ ဘုံဂုဏ်သတ္တိများပါဝင်သည်:
MySQLI_STMT_ATTR_APAX_Length
MySQLI_STMTMT_ATTR_TTR_TRTE_TTRTE_TTRT_ATTRE_RAWT_ROWS ကဲ့သို့သောအခြားကြိုတင်သတ်မှတ်ထား သည့် ကိန်းဂဏန်းများကိုအဓိကအားဖြင့် client များနှင့်ဆာဗာများအကြား cursor အပြုအမူကိုထိန်းချုပ်ရန်အဓိကအားဖြင့်အသုံးပြုသည်။
function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
public mysqli_stmt::attr_get(int $attribute): int|false
developer များအတွက်အဓိကရှုပ်ထွေးမှုများမှာ - MySQLI_STMT :: Fetch () ကို ခေါ်ပါက၎င်းသည် Att_GET () ဟု ခေါ်ရန်လက်တွေ့ကျပါသလား။ အဖြေမှာ - ၎င်းသည်သင်၏မေးမြန်းမှု၏အခြေအနေနှင့်သင်ရရှိသော attribute အမျိုးအစားပေါ်မူတည်သည်။
ဥပမာအားဖြင့်, သင်သည် Store_result () ကို ခေါ်ပြီးနောက်ကော်လံတစ်ခု၏အများဆုံးအရှည်ပြောင်းလဲမှုကိုသင်သိလိုကြောင်းစဉ်းစားပါ ။ Fetch ကို ခေါ်ပြီးနောက်ဤပိုင်ဆိုင်မှုအဆင့်အတန်းကိုသင်ရရှိပါက၎င်းသည် field width ကို dynamatically လုပ်ရန် max_length attribute ကိုအသုံးပြုရန်လိုအပ်, ရှိ,
attr_get () သုံး. တိကျသောဥပမာတစ်ခုရှိသည်။
<?php
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_error) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $mysqli->connect_error);
}
$stmt = $mysqli->prepare("SELECT name FROM users WHERE id = ?");
$stmt->bind_param("i", $user_id);
$user_id = 1;
// အဆင့်မြင့်အရှည် attribute ကို enable လုပ်ပါ
$stmt->attr_set(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH, 1);
$stmt->execute();
$stmt->store_result();
// attribute တန်ဖိုးကိုရယူပါ
$updateMaxLength = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
echo "ဉစ်စာပစ္စည်းများ MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH ၏တန်ဖိုး: " . ($updateMaxLength ? "enabled" : "မဖွင့်ပါ") . "<br>";
$stmt->bind_result($name);
$stmt->fetch();
echo "အသုံးပြုသူအမည်: $name";
$stmt->close();
$mysqli->close();
?>
ဤဥပမာတွင် fetch () ဟုခေါ်လျှင်ပင် developer သည် attribute status ကိုအတည်ပြုရန် attr_et () ကို ခေါ်ဆိုနိုင်သည်။ Fetch သည် status value ကိုပြန်ယူပြီးဆွဲယူ ခြင်း () ဟုခေါ်သောကြောင့်ပြောင်းလဲခြင်းမရှိပါ။ ထို့ကြောင့်၎င်းကို debugging သို့မဟုတ် configuration checking tool အဖြစ်အသုံးပြုနိုင်သည်။
attr_get () သည် စုံစမ်းမှုရလဒ်နှင့်တိုက်ရိုက်ဆက်နွယ်မှုကိုပြန်ပို့ခြင်းထက် Preprocessing statement assember ၏လက်ရှိပြင်ဆင်မှုကိုရရှိသည်။
များသောအားဖြင့် attr_et_get () ကို Attr_set () ကိုချိန်ညှိခြင်းအပြီးတွင် setting သည်အောင်မြင်မှုရှိ, မရှိကိုအတည်ပြုရန်ချက်ချင်းခေါ်သည် ။
4 င်း၏လုပ်ဆောင်မှုသည်ယူဆချက်ကိုရယူရန်အကန့်အသတ်မရှိ။
မြင့်မားသောစွမ်းဆောင်ရည်မြင့်မားခြင်းသို့မဟုတ် Dynamic Field Dynamic Dynamic Dynamic Prouster လိုအပ်သည့်အသုံးချမှုများအတွက်ဤဂုဏ်သတ္တိများကိုနားလည်ခြင်းနှင့်ဆင်ခြင်တုံတရားအသုံးပြုခြင်းကိုပိုမိုကောင်းမွန်စွာထိန်းချုပ်ရန်လိုအပ်သည်။
MySQLI_STMT :: ARTR_GET () သည်လူကြိုက်များသော function တစ်ခုဖြစ်သော်လည်း Debugging, attribute verification, debugging verification, debugging scrication, Fetch ပြီးနောက်၎င်းကိုအသုံးပြုခြင်း () ၎င်း၏အပြုအမူသို့မဟုတ်ပြန်လာတန်ဖိုးကိုပြောင်းလဲလိမ့်မည်မဟုတ်ပါ။ ၎င်းအစား developer များကယခင်ကပြုပြင်ထားသောဂုဏ်သတ္တိများသည်ထိရောက်သောရှိမရှိကိုအတည်ပြုရန်ကူညီနိုင်သည်။ ဤအခြေခံယန္တရားများကိုနားလည်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်အပြန်အလှန်ဆက်သွယ်မှုဖြစ်စဉ်များကိုပိုမိုကောင်းမွန်စွာနေထိုင်နိုင်ပြီးကျွန်ုပ်တို့၏ကျင့်ထုံး၏ထိန်းသိမ်းမှုနှင့်ကြံ့ခိုင်မှုကိုတိုးတက်စေနိုင်သည်။
သက်ဆိုင်သောတက်(ဂ်)များ:
mysqli_stmt