MySQL databases များကိုလုပ်ကိုင်ရန် PHP ကိုအသုံးပြုသည့်အခါ Connect () function နှင့် MySQLI_DENT_DB () ကိုဒေတာဘေ့စ်ဆာဗာနှင့်ချိတ်ဆက်ရန်နှင့်တိကျသောဒေတာဘေ့စ်များကိုရွေးချယ်ရန်အသုံးပြုသည်။ Modern PHP တွင် MySQLI extension ကို အသုံးပြု. ရိုးရာ MySQL extensions များထက်ပိုမိုအားကောင်းလာပြီးအရာဝတ်ထု -oriented programming ကိုထောက်ပံ့သည်။
ဒေတာဘေ့စ်, ကြိုတင်ကာကွယ်မှုများပြုလုပ်ရန် MySQLI_Connect () function နှင့် MySQLI_LEXT_DB () function ကိုမည်သို့အသုံးပြုရမည်နှင့် Code ၏တည်ငြိမ်မှုနှင့်ထိန်းသိမ်းခြင်းကိုမည်သို့တိုးတက်အောင်လုပ်နိုင်သည်။
ဆက်သွယ်မှုများနှင့်ဒေတာဘေ့စ်ရွေးချယ်ရေးရေးရန်အခြေခံအကျဆုံးနည်းလမ်းကို ဦး စွာကြည့်ကြပါစို့။
<code> $ host = 'localhost'; $ user = 'db_user'; $ စကားဝှက် = 'DB_Password', $ dBNAME = 'MY_DATABASE'; // ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$ conn = mySQLI_Connect ($ host, $ user, $ password);
(! $ conn) {
Die ('ဆက်သွယ်မှုသည်မအောင်မြင်ပါ။ ' ။ MySQLI_Connect_ERROR ());
}
// ဒေတာဘေ့စ်ကိုရွေးပါ
အကယ်. (! MySQLI__LEET_DB ($ CON, $ dBNAME))
Die ('ဒေတာဘေ့စရွေးချယ်မှုမအောင်မြင်ပါ။ MySQLI_ERROR ($ CON));
}
ပဲ့တင်သံ "ဒေတာဘေ့စ်ဆက်သွယ်မှုနှင့်ရွေးချယ်မှုအောင်မြင်ခဲ့သည်။ ";
</ code>
ဒီကုဒ်ကအချက်နှစ်ချက်ကိုလုပ်တယ်။
ဒေတာဘေ့စ်ဆာဗာနှင့်ချိတ်ဆက်ရန် MySQLI_Connect () ကိုသုံးပါ။
ဒေတာဘေ့စ်ကိုရွေးချယ်ရန် MySQLI_LECT_DB () ကို သုံးပါ။
MySQLI_Connect () သည်ဒေတာဘေ့စ်အမည်များတွင်တိုက်ရိုက်ဖြတ်သန်းခြင်းကိုတိုက်ရိုက်ထောက်ခံသည်။ ဆိုလိုသည်မှာသင်သည်ကုဒ်ကိုရိုးရှင်းနိုင်သည်။
<Code> $ can = mySQLI_Connect (ဒေါ်လာအိမ်ရှင်, $ user, $ password, $ dbname); </ code>ဤနည်းလမ်း သည် ကိစ္စရပ်အများစုတွင်လုံလောက်သည်,
ခွင့်ပြုချက်များအတွက်ဆာဗာနှင့်ချိတ်ဆက်ရန်သို့မဟုတ်အသုံးပြုသူသတင်းအချက်အလက်စိစစ်အတည်ပြုကိုအရင်ဆက်သွယ်ရန်လိုအပ်သည့်အခါအခြားဒေတာဘေ့စ်တစ်ခုကိုရွေးချယ်ပါ။
ဒေတာဘေ့စ်အမည်ကို runtime မှာ dynamice ကိုဆုံးဖြတ်သောအခါ;
အချို့သောမူဘောင်များတွင်ဒေတာဘေ့စ် connection pool ကို ဦး စွာတည်ထောင်ရန်လိုအပ်ပြီးစီးပွားရေးလိုအပ်ချက်များအရဒေတာဘေ့စ်ကိုပြောင်းလဲရန်လိုအပ်သည်။
ထို့ကြောင့်ရိုးရှင်းသောဗားရှင်းကိုပိုမိုအသုံးများလေ့ရှိပြီး MySQLI_SELET_DB ဟုကိုယ်တိုင်ခေါ်ရန်နည်းလမ်းကိုနားလည်ရန်လည်းအရေးကြီးသည်။
ဖွံ့ဖြိုးရေးစဉ်အတွင်းအမှားကိုင်တွယ်ပုံကိုလျစ်လျူမရှုပါနှင့်။ ဆက်သွယ်မှုပျက်ကွက်ခြင်းသို့မဟုတ်ဒေတာဘေ့စ်ရွေးချယ်မှုပျက်ကွက်ခြင်းသည်ဘုံပြ problem နာဖြစ်သည်။ အဆင့်တစ်ခုစီ၏ပြန်လာတန်ဖိုးကိုသေချာစစ်ဆေးပါ။
<code> IF (! $ conn) {error_log ("Database ဆက်သွယ်မှုမအောင်မြင်ပါ -" MySQLI_Connect_error ()); ထွက်ပေါက် ("စနစ်ကအလုပ်များနေပါတယ်, နောက်မှထပ်ကြိုးစားပါ။ "); } အကယ်. (! MySQLI__LEET_DB ($ CON, $ dBNAME))
error_log ("ဒေတာဘေ့စ်ရွေးချယ်မှုမအောင်မြင်ပါ။ MySQLI_ERRORERROR ($ CON));
ထွက်ပေါက် ("ဒေတာဘေ့စ်ခြွင်းချက်, ကျေးဇူးပြု. အုပ်ချုပ်ရေးမှူးထံဆက်သွယ်ပါ။ ");
}
</ code>
သစ်ထုတ်လုပ်ရေးအမှားအချက်အလက်များသည်ပြ problems နာများကိုဖြေရှင်းရန်နှင့်အသုံးပြုသူအတွေ့အကြုံကိုတိုးတက်စေသည်။
သင် site ကို <code> https://www.m66.net/login.php <code ကိုတီထွင်နေသည်ဆိုပါစို့။ ပုံစံကိုတင်ပြပြီးနောက်အသုံးပြုသူသည်၎င်း၏အချက်အလက်များကိုအတည်ပြုရန်လိုအပ်သည်ဆိုပါစို့။ Code ကိုယုတ္တိဗေဒအောက်ပါအတိုင်းဖြစ်နိုင်သည် -
<code> $ can = MySQLI_Connect ('localhost' ',' Pass ''; (! $ conn) {
Die ("ဒေတာဘေ့စ်ဆက်သွယ်မှုမအောင်မြင်ပါ");
}
mysqli_selection_db ($ Cons, 'user_DB');
$ username = $ _post ['username'];
$ စကားဝှက် = $ _post ['password'];
$ query = "Username = '$ username and password =' $ password 'ကိုသုံးသောအသုံးပြုသူများထံမှ *" Select * Select *;
$ ရလဒ် = MySQLI_QUERY ($ CON, $ QEACE);
if (MySQLI_Num_rows ($ ရလဒ်)> 0) {
header ("တည်နေရာ: https://www.m66.net/dashboard.php ");
} အခြား
ECHO "အသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်ဖြင့်အမှား";
}
</ code>
မှတ်စု : အထက်ပါဥပမာ၏ရိုးရှင်းမှုအတွက်အဘယ်သူမျှမ preprocessing ကြေညာချက်ကိုမသုံးပါ။ အမှန်တကယ်ထုတ်လုပ်မှုပတ်ဝန်းကျင်တွင် MySQLI_PREPATE () ကို SQL Injection ကိုကာကွယ်ရန်အသုံးပြုရမည်။
MySQLI_Connect () နှင့် MySQLI_ESENT_DB () ပေါင်းစပ်အသုံးပြုခြင်းသည် PHP တွင် flexible database connection method တစ်ခုဖြစ်သည်။ အထူးသဖြင့်ဒေတာဘေ့စ်များကို dynamases switched ရိယာပြောင်းရန်လိုအပ်သည့်အခြေအနေများအတွက်သင့်တော်သည်။ အဆက်မပြတ်အချိုးအစားကိုသင်ဆက်သွယ်သည့်အချိန်တွင်ဒေတာဘေ့စ်အမည်ကိုတိုက်ရိုက်သတ်မှတ်နိုင်သော်လည်းဤနှစ်ခုကိုလွတ်လပ်သောအသုံးပြုမှုကိုနားလည်ခြင်းသည်ပိုမိုအားကောင်းသည့်ကုဒ်ကိုရေးနိုင်သည်။
ကောင်းသောအမှားကိုင်တွယ်သည့်ယန္တရားသည်အရည်အသွေးမြင့်မားသော PHP applications များကိုတီထွင်ရာတွင်အဓိကခြေလှမ်းတစ်ခုဖြစ်ကြောင်းအမြဲတမ်းသတိရပါ။ ဒေတာဘေ့စ်လုပ်ငန်းများအတွက်ဤဆောင်းပါးကိုမှန်ကန်စွာနှင့်ထိထိရောက်ရောက်အသုံးချနိုင်ရန်ဤဆောင်းပါးကဤဆောင်းပါးသည်သင့်အားမှန်ကန်စွာနှင့်ထိရောက်စွာအသုံးပြုသည်။