PHP တွင် MySQL ဒေတာဘေ့စ်သို့ချိတ်ဆက်ခြင်းသည် web application များကိုတီထွင်သည့်အခါဘုံလုပ်ငန်းဖြစ်သည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုနည်းအမျိုးမျိုးဖြင့်ပြုလုပ်နိုင်သည်။ ၎င်းသည် MySQL_Connect () function ကို အသုံးပြု. အမြဲတမ်းဆက်သွယ်မှုများကိုအကောင်အထည်ဖော်ရန်ဂန္ထဝင်နည်းလမ်းဖြစ်သည်။ ဤဆောင်းပါးသည် MySQL_Connect () function ကို () လုပ်ဆောင်မှုနှင့်လုပ်ငန်းနိယာမများနှင့်လက်တွေ့ကျသောအပလီကေးရှင်းများနှင့်အတူ database များ၏မြဲမြဲချိတ်ဆက်မှုများကိုမည်သို့အကောင်အထည်ဖော်ရမည်ကိုအသေးစိတ်လေ့လာလိမ့်မည်။
ဆက်နွယ်သောဆက်သွယ်မှုဆိုသည်မှာဆက်သွယ်မှုတစ်ခုတည်ဆောက်ပြီးသည်နှင့်တစ်ပြိုင်နက် script ကိုကွပ်မျက်ခံရပြီးနောက်ပိတ်ထားလိမ့်မည်မဟုတ်ပါ။ ဤနည်းလမ်းသည်မကြာခဏဆက်သွယ်မှုများကိုမကြာခဏတည်ဆောက်ခြင်းနှင့်ပိတ်ခြင်းကိုပိတ်ခြင်း၏ overhead ကိုလျော့နည်းစေနိုင်သည်။ ဆန့်ကျင်ဘက်အနေဖြင့်ပုံမှန်ဆက်သွယ်မှုမှာဇာတ်ညွှန်းကိုကွပ်မျက်ပြီးနောက်နှင့်ကွပ်မျက်ပြီးနောက်ပိတ်ထားသည့်အခါတိုင်းဒေတာဘေ့စ်ဆက်သွယ်မှုအသစ်တစ်ခုကိုတည်ဆောက်ရန်ဖြစ်သည်။
PHP တွင် MySQL_Connect () function ကို () function ကို enverent connection တစ်ခုတည်ထောင်ရန်အသုံးပြုနိုင်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">mysql_connect</span></span><span>(</span><span><span class="hljs-string">'hostname'</span></span><span>, </span><span><span class="hljs-string">'username'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span></span>'hostname' - ဒေတာဘေ့စ်ဆာဗာ၏ host address, များသောအားဖြင့် localhost သို့မဟုတ် IP address ကို။
'Username' - အသုံးပြုသူအမည်ဒေတာဘေ့စ်နှင့်ချိတ်ဆက်ရန်အသုံးပြုသည်။
'စကားဝှက်' - အသုံးပြုသူအမည်နှင့်သက်ဆိုင်သောစကားဝှက်။
စတုတ်ထ parameter သည် မြဲမြံသောဆက်သွယ်မှုကိုတည်ထောင်ရန်ဆိုလိုသည်။
ချိတ်ဆက်မှုပိတ်ခြင်းယန္တရား :
ပုံမှန်ဆက်သွယ်မှု - ဇာတ်ညွှန်းကိုကွပ်မျက်သည့်အခါတိုင်းဆက်သွယ်မှုကိုပိတ်လိမ့်မည်။
မြဲဆက်သွယ်မှု - ဇာတ်ညွှန်းကိုကွပ်မျက်ခံရရင်တောင်ဆက်ပြောပါတယ်။
စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများ :
အထူးသဖြင့်ရှည်လျားသော 0 က်ဘ်အပလီကေးရှင်းများသို့မဟုတ်တစ်ပြိုင်နက်တည်း applications များသို့မဟုတ်တစ်ပြိုင်နက်တည်း applications များအတွက်အထူးသဖြင့် database connection နှင့်ဖျက်ဆီးခြင်းကိုပိုမိုများပြားလာသည်။
ပုံမှန်ဆက်သွယ်မှုများသည်ပုံမှန်ဆက်သွယ်မှုကိုတောင်းခံသည့်အခါတိုင်းဖန်တီးရန်ဆက်သွယ်မှုအသစ်တစ်ခုလိုအပ်သည်, ၎င်းသည်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းမြောက်သောပတ်ဝန်းကျင်တွင်စွမ်းဆောင်ရည်မြှင့်တင်မှုများကိုဖြစ်ပေါ်စေနိုင်သည်။
မြဲမြဲဆက်သွယ်မှု၏အကြီးမားဆုံးအကျိုးကျေးဇူးများ -
ထိရောက်မှု - ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုမိတ္တူပွားများကိုလျှော့ချပါ။
Save အရင်းအမြစ်များကိုသိမ်းရန် - ဆက်သွယ်မှုရေကူးကန်ပြန်လည်နေရာချထားခြင်းသည်အချိန်အတိုင်းအတာတစ်ခုအထိဆက်သွယ်မှုများကိုထူထောင်ခဲ့သည်။
ပထမ ဦး စွာ MySQL configuration file တွင်မြဲ cannection feature ကိုဖွင့်ထားကြောင်းသေချာစေရန်လိုအပ်သည်။ အောက်ပါ configurations များကို MySQL ၏ configuration file ( My.CNF သို့မဟုတ် My.ini ) တွင်စစ်ဆေးနိုင်သည်။
<span><span><span class="hljs-section">[mysqld]</span></span><span>
skip-name-resolve
</span><span><span class="hljs-attr">wait_timeout</span></span><span> = </span><span><span class="hljs-number">28800</span></span><span>
</span><span><span class="hljs-attr">interactive_timeout</span></span><span> = </span><span><span class="hljs-number">28800</span></span><span>
</span></span>skip-name-resolve ်ဌာန်းချက် - သင်ဆက်သွယ်သည့်အခါတိုင်း DNS မေးမြန်းချက်များကိုရှောင်ရှားရန် DNS ပြောင်းပြန် resolution ကို disable လုပ်ပါ။
Tak_Iloutt နှင့် Interactive_Timeout : ဆက်သွယ်မှုသည်စောလွန်းလိမ့်မည်မဟုတ်ကြောင်းသေချာစေရန်ဆက်သွယ်မှု၏အချိန်ကိုအချိန်ယူပါ။
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// အသုံးပြုmysql_connectမြဲ connection ကိုထူထောင်ပါ</span></span><span>
</span><span><span class="hljs-variable">$link</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_connect</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>, </span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-variable">$link</span></span><span>) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'Could not connect: '</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mysql_error</span></span><span>());
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Connected successfully!'</span></span><span>;
</span><span><span class="hljs-comment">// အခြားဒေတာဘေ့စ်စစ်ဆင်ရေးများ...</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>ဤကုဒ်တွင် MySQL_Connect ၏စတုတ်ထ Pareter သည် မှန်ကန်စွာ ဆက်သွယ်မှုလိုအပ်ကြောင်းညွှန်ပြသည်။ ဆက်သွယ်မှုအောင်မြင်ပြီးနောက်ဒေတာဘေ့စ်စစ်ဆင်ရေးကိုဆက်လက်လုပ်ဆောင်နိုင်သည်။
မြဲမြဲ connection တစ်ခုတည်ဆောက်ပြီးသည်နှင့်ပုံမှန်ဒေတာဘေ့စ်စစ်ဆင်ရေးများကိုပြုလုပ်နိုင်သည်။ ဥပမာအားဖြင့်, ဒေတာဘေ့စ်ကိုရွေးပြီးစုံစမ်းမှုတစ်ခုကိုလုပ်ဆောင်ပါ။
<span><span><span class="hljs-title function_ invoke__">mysql_select_db</span></span><span>(</span><span><span class="hljs-string">'my_database'</span></span><span>, </span><span><span class="hljs-variable">$link</span></span><span>);
</span><span><span class="hljs-comment">// ကရိယာတန်းဆာSQLမေးမြန်း</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-string">'SELECT * FROM users'</span></span><span>, </span><span><span class="hljs-variable">$link</span></span><span>);
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_fetch_assoc</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] . </span><span><span class="hljs-string">'<br>'</span></span><span>;
}
</span></span>မြဲမြဲချိတ်ဆက်မှုအတွက်တော့ connection ကိုအနီးကပ်ပိတ်ပြီးပြန်လည်ပြုပြင်ခြင်းဖြစ်လိမ့်မည်။ သို့သော်အထူးလိုအပ်ချက်များရှိပါက MySQL_CLOSE () ကို ရှင်းလင်းပြတ်သားစွာပိတ်ခြင်းအတွက်လည်းသင်ခေါ်ဆိုနိုင်သည်။
<span><span><span class="hljs-title function_ invoke__">mysql_close</span></span><span>(</span><span><span class="hljs-variable">$link</span></span><span>);
</span></span>ချိတ်ဆက်မှုန့်ကန့်သတ်ချက်များ
အကယ်. သင်သည်မြဲမြဲချိတ်ဆက်မှုများကိုအသုံးပြုပါက MySQL ဒေတာဘေ့စ်၏ဆက်သွယ်မှုရေကန်တွင်အများဆုံးဆက်သွယ်မှုကန့်သတ်ချက်ရှိနိုင်သည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုများလွန်းသောအခါ connection pool သည်ကုန်ခန်းနေနိုင်သည်။
session status ကိုပြ issues နာများ
မြဲမြဲချိတ်ဆက်မှုတစ်ခုသည်နောက်ဆုံးဆက်သွယ်မှု၏ session status ကိုသိမ်းဆည်းသည်။ ကွဲပြားခြားနားသော session settings အမျိုးမျိုးအပေါ်မူတည်ပါကပ conflicts ိပက်ခများဖြစ်ပွားနိုင်သည်။
အရင်းအမြစ်သိမ်းခြင်း :
မြဲမြံသောဆက်သွယ်မှုများသည်စွမ်းဆောင်ရည်ကိုတိုးတက်ကောင်းမွန်စေနိုင်သော်လည်း၎င်းတို့ကိုသတိပြုရန်လိုအပ်သည်။ ဆက်သွယ်မှုအမြောက်အများကိုမပိတ်နိုင်ပါ။
လုံခြုံရေးပြ issues နာများ
မြဲမြဲချိတ်ဆက်မှုများကိုအသုံးပြုသောအခါဒေတာဘေ့စ်ဆက်သွယ်မှုသည်ရှည်လျားသောဘဝသံသရာရှိသည်။ ဆက်စပ်ဆက်သွယ်မှုများကိုအလွဲသုံးစားမှုကိုအလွဲသုံးစားပြုခြင်းမှအန္တရာယ်ရှိသောအသုံးပြုသူများကိုရှောင်ရှားရန်ဆက်သွယ်မှုအချက်အလက်များ (ဥပမာအသုံးပြုသူအမည်) သည်မပေါက်ကြားကြောင်းသေချာပါစေ။
MySQL_Connect () function မှတဆင့်အကောင်အထည်ဖော်နိုင်သည့်ဆက်နွယ်မှုသည်ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုမကြာခဏတည်ဆောက်ခြင်းနှင့်ဖျက်ဆီးခြင်း၏ overhead ကိုထိထိရောက်ရောက်လျှော့ချနိုင်သည်။ သို့သော်မြဲမြဲချိတ်ဆက်မှုများကိုအသုံးပြုသောအခါဒေတာဘေ့စ် connection pool တွင်အများဆုံးဆက်သွယ်မှုအရေအတွက်နှင့်ကိုက်ညီမှုရှိစေရန်အရင်းအမြစ်စီမံခန့်ခွဲမှုနှင့်အခြားပြ issues နာများကိုအာရုံစိုက်ရန်လိုအပ်သည်။ ယေဘုယျအားဖြင့်ဆက်နွယ်သောဆက်သွယ်မှုများကိုဆင်ခြင်တုံတရားကောက်ခံမှုနှင့်အသုံးပြုခြင်းသည် PHP database application များ၏စွမ်းဆောင်ရည်ကိုတိုးတက်စေရန်ထိရောက်သောနည်းလမ်းများဖြစ်သည်။