လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> MySQLI_STMT :: bind_param နှင့် attr_get အသုံးပြုမှုအမိန့်

MySQLI_STMT :: bind_param နှင့် attr_get အသုံးပြုမှုအမိန့်

M66 2025-05-22

MySQLI_SP တိုးချဲ့မှုကိုကြိုတင်ကြေငြာခြင်းလုပ်ငန်းများအတွက် PHP တိုးချဲ့ခြင်းကိုအသုံးပြုသည့်အခါ MySQLI_STMT :: Bind_param သည် parameters များကို preprocessing ထုတ်ပြန်ချက်များအဖြစ်သတ်မှတ်ခြင်းအတွက်အလွန်အသုံးများသောနည်းလမ်းဖြစ်သည်။ အခြားတစ်ဖက်တွင်မူ MySQLI_STMT :: Attr_get ကို Preprocessing Story ၏ဂုဏ်သတ္တိများကိုရရှိရန်အသုံးပြုသည်။ ဤနည်းလမ်းနှစ်နည်းစနစ်များကိုခေါ်ဆိုမှုအရအရေးအကြီးဆုံးမှာရလဒ်ကိုအကျိုးသက်ရောက်စေမည်ဖြစ်ပြီး Att_get သည် Bind_param ကို ခေါ်ရန်လိုအပ်ပါသလား။

MySQLI_STMMT :: bind_stmtam ၏အခန်းကဏ်:

Parametering Statement တွင် parameterm marks (မေးခွန်းအမှတ်အသား) သို့ variable များကို cootses လုပ်ရန်အသုံးပြုသည်။ ဤနည်းလမ်း၏အဓိကလုပ်ဆောင်ချက်သည် SQL Injection ကိုကာကွယ်ရန်နှင့်ကွပ်မျက်ခြင်းထိရောက်မှုကိုတိုးတက်စေရန် parameterized မေးမြန်းချက်များကိုအကောင်အထည်ဖော်ရန်ဖြစ်သည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?");
$id = 1;
$stmt->bind_param("i", $id);
$stmt->execute();

ဤတွင် "i" ဆိုသည်မှာ parameter သည် parametere အမျိုးအစားသည်ကိန်းတစ်ခုဖြစ်သည်။

mysqli_stmm :: Att_Get ၏အခန်းကဏ် role

MySQLI_STMT_APDATE_UPAX_LAX_Length စသည်တို့စသည်တို့ပါ 0 င်သည့် Preprocessing ထုတ်ပြန်ချက်များကိုရယူရန်အသုံးပြုသည်

ဥပမာအားဖြင့်:

 $max_length = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
echo "Max length updated: " . $max_length;

attr_get ကိုအရင်ခေါ်ဖို့လိုပါသလား။

ပုံမှန်အားဖြင့် attr_get သည် parameters တွေကိုလုပ်ဆောင်ရန်လိုအပ်သောခြေလှမ်းမဟုတ်ပါ။ bind_param ကို ကြိုတင်ပြင်ဆင်ထားသည့်ကြေညာချက်ကိုအောင်မြင်စွာပြင်ဆင်ထားသရွေ့,

ခေါ်ဆိုမှုအမိန့်ကိုအောက်ပါအတိုင်းအကြံပြုသည်။

  1. $ stmt = $ MySQLI-> ကြိုတင်ပြင်ဆင်မှု ($ sql);

  2. $ stmt-> bind_param ($ အမျိုးအစားများ, ... $ vars);

  3. $ stmt-> execute ();

Calling Attr_get သည် optional ကို optional ကိုအဓိကအားဖြင့် attribute အချက်အလက်များကိုရရှိရန်အသုံးပြုသည်။

ရလဒ်အပေါ်ခေါ်ဆိုမှုအမိန့်၏အကျိုးသက်ရောက်မှု

  • Call attr_get ကို ပထမ ဦး ဆုံးနှင့် bind_param :
    ၎င်းသည် preprocessing statement ဆင်သင့်ဖြစ်နေကြောင်း, Att_et သည် attribute ကိုရရှိသည်။

  • bind_param ကို အရင်ခေါ်ဆိုပါ။ ထို့နောက် attr_get :
    ၎င်းသည် Attribe Attribute များ၏တန်ဖိုး၏တန်ဖိုးကိုအကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ။ ခေါ်ဆိုမှုအစဉ်အလာသည် function အပေါ်အကျိုးသက်ရောက်မှုမရှိပါ။

အချုပ်အားဖြင့်ဆိုရလျှင် Attra_Get နှင့် Bind_param တို့အကြားတင်းကျပ်သောခေါ်ဆိုမှုအမိန့်မှီခိုမှုမရှိပါ

နမူနာကုဒ်