PHP တွင် MySQL_CLOSE function ကို MySQL ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုပိတ်ရန်အသုံးပြုသည်။ ဒီ function ကိုခေါ်ပြီးနောက်ဆက်သွယ်မှုကိုပိတ်ထားလိမ့်မည်။ ဆက်သွယ်မှုတွင်နောက်ဆက်တွဲလုပ်ဆောင်မှုများသည်အမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။ ဤလုပ်ဆောင်မှု၏လုပ်ဆောင်ချက်မှာအရင်းအမြစ်များကိုဒေတာဘေ့စ်ဆာဗာဖြင့်အရင်းအမြစ်များကိုထုတ်လွှတ်ရန်နှင့်ဆာဗာအရင်းအမြစ်များကိုစွန့်ပစ်ရန်မလိုအပ်သောဆက်သွယ်မှုများမရှိတော့ပါ။ သို့သော်မမှန်ကန်သောသုံးစွဲမှုအချိန်နှင့်မတူကွဲပြားသောအချိန်နှင့်အခြေအနေများသည်ဆက်သွယ်မှုကိုပိတ်ထားပြီးနောက်ပြ problems နာများကိုဖြစ်စေနိုင်သည်။
ကြိုတင်ဆက်သွယ်မှုကိုပိတ်ပါ
MySQL_CLOSE ကို Query မလုပ်ဆောင်မီခေါ်ဆိုခြင်းသည်အသုံးအများဆုံးအမှားအယွင်းတစ်ခုဖြစ်သည်။ Database Query ကိုမလုပ်ဆောင်မီဆက်သွယ်မှုကိုသင်ပိတ်လိုက်ပါကဆက်သွယ်မှုမရှိပါကမေးမြန်းချက်များကိုစနစ်တကျကွပ်မျက်ခံရမည်မဟုတ်ပါ။ ထိုသို့သောအမှားများကိုမကြာခဏရှာဖွေတွေ့ရှိရန်ခက်ခဲလေ့ရှိပြီးအစီအစဉ်ကိုစိတ်မကောင်းစရာဝေဝါးအမှားအယွင်းများကိုပြန်ပို့ရန်သို့မဟုတ်ပြန်လည်ပေးပို့ရန်ဖြစ်နိုင်သည်။
<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">''</span></span><span>);
</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><span class="hljs-comment">// ဒီဆက်သွယ်မှုကိုမှားယွင်းစွာပိတ်ထားသည်</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-comment">// connection ကိုပိတ်ထားလို့ပဲ,အဆိုပါစုံစမ်းမှုကွပ်မျက်မရနိုင်ပါ</span></span><span>
</span></span>
တူညီသောဆက်သွယ်မှုကိုအကြိမ်ပေါင်းများစွာပိတ်ပါ
အခြားဘုံပြ problem နာတစ်ခုမှာ MySQL_CLOSE ကို တူညီသောဆက်သွယ်မှုကိုပိတ်ရန်အကြိမ်ကြိမ်ခေါ်ဆိုခြင်းဖြစ်သည်။ PHP တွင်, သင်ပိတ်ထားသောဆက်သွယ်မှုကိုပိတ်ရန်ကြိုးစားပါကစနစ်သည်သတိပေးချက်ကိုပစ်လိမ့်မည်။ MySQL_CLOSOSOSE ကို ပရိုဂရမ်၏အစိတ်အပိုင်းများကိုမတော်တဆတိုက်မိသောကြောင့်ဖြစ်သည်။
<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">''</span></span><span>);
</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><span class="hljs-title function_ invoke__">mysql_close</span></span><span>(</span><span><span class="hljs-variable">$link</span></span><span>); </span><span><span class="hljs-comment">// သတိပေးချက်ပေါ်လာလိမ့်မယ်</span></span><span>
</span></span>
MySQL_CLOSE မျိုးစုံဒေတာဘေ့စ်လည်ပတ်မှုအကြား MySQL_CLOSE ကိုခေါ်ပါ
ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်သောအခါသင်၏လျှောက်လွှာသည် MySQL_CLOSE ကို စောလွန်းပါကဆက်နွယ်မှုအတွက်ဆက်သွယ်မှုအတွက်မရရှိနိုင်ပါ။ ၎င်းသည်အစီအစဉ်ကိုမေးမြန်းခြင်းသို့မဟုတ်အရောင်းအ 0 ယ်မျိုးစုံကိုမှန်ကန်စွာကိုင်တွယ်ရန်ပျက်ကွက်စေနိုင်သည်။
<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">''</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-title function_ invoke__">mysql_close</span></span><span>(</span><span><span class="hljs-variable">$link</span></span><span>); </span><span><span class="hljs-comment">// ပိတ်ထားသောဆက်သွယ်မှု</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM orders"</span></span><span>); </span><span><span class="hljs-comment">// ဆက်သွယ်မှုပိတ်ထားသည်,query ကို execute နိုင်ခြင်း</span></span><span>
</span></span>
အားလုံးဒေတာဘေ့စစစ်ဆင်ရေးပြီးဆုံးပြီးနောက်ဆက်သွယ်မှုကိုပိတ်ပါ
MySQL_CLOSESOSOSE ကိုဒေတာဘေ့စ်လုပ်ငန်းများပြီးဆုံးပြီးနောက်ဟုခေါ်ရန်မှာအကောင်းဆုံးဖြစ်သည်။ အထူးသဖြင့်ရှုပ်ထွေးသော application များ၌, ဆက်စပ်စစ်ဆင်ရေးများလုပ်ဆောင်သည်အထိဆက်သွယ်မှုကိုဖွင့်ထားသင့်သည်။
<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">''</span></span><span>);
</span><span><span class="hljs-variable">$result1</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">$result2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mysql_query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM orders"</span></span><span>);
</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><span class="hljs-comment">// ဆက်သွယ်မှုကိုမပိတ်မီမေးမြန်းချက်အားလုံးကိုသေချာအောင်လုပ်ပါ</span></span><span>
</span></span>
connection pool ကိုသုံးပြီးဆက်သွယ်မှုများကိုစီမံပါ
ပိုမိုရှုပ်ထွေးသော applications များအတွက်အထူးသဖြင့်အထူးသဖြင့်တစ်ပြိုင်နက်တည်းတစ်ပြိုင်နက်တည်းပတ်ဝန်းကျင်တွင်ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုစီမံရန် Connection Pool ကိုအသုံးပြုရန်စဉ်းစားနိုင်သည်။ connection pool ကိုအသုံးပြုသောအခါသင်ဆက်သွယ်မှုတစ်ခုချင်းစီကိုကိုယ်တိုင်ပိတ်ရန်မလိုပါ, သို့သော်တစ်နည်းအားဖြင့်ဆက်သွယ်မှုပိတ်ခြင်းကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုလျှော့ချရန်အရင်းအမြစ်များကိုအလိုအလျောက်စီမံသည်။
ဒေတာဘေ့စ်လည်ပတ်မှုတစ်ခုစီပြီးနောက်ချက်ချင်းချိတ်ဆက်မှုကိုပိတ်ခြင်းကိုရှောင်ပါ
ရိုးရှင်းသော PHP scripts များစွာတွင် developer များသည်ဒေတာဘေ့စ်စစ်ဆင်ရေးတစ်ခုစီပြီးနောက် MySQL_CLOSE ကို ဖုန်းဆက်နိုင်သည်။ ဤအလေ့အကျင့်သည်ဆက်သွယ်မှုများကိုမကြာခဏဖွင့်လှစ်ခြင်း, ပိုမိုကျိုးကြောင်းဆီလျော်သောချဉ်းကပ်နည်းသည်ဇာတ်ညွှန်းအဆုံးတွင်တစ်ချိန်တည်းတွင်ဆက်သွယ်မှုကိုပိတ်ရန်ဖြစ်သည်။
function ကိုပြန်ပြီးနောက်ပိတ်ထားသောဆက်သွယ်မှုကိုမရှိတော့ကြောင်းသေချာအောင်လုပ်ပါ
သင်၏ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်မှုတစ်ခုတွင်လုပ်ဆောင်ပါကဆက်သွယ်မှု၏အဆုံးတွင် connection ကိုပိတ်ထားပါ။ ဥပမာအားဖြင့်, MySQLI (သို့) PDO ၏ပိုမိုအဆင့်မြင့်သောဒေတာဘေ့စ်စစ်ဆင်ရေးနည်းလမ်းများသည်အမှားကိုင်တွယ်ပုံပိုမိုပြည့်စုံစေရန်သေချာစေရန်အသုံးပြုနိုင်သည်။
PHP တွင် MySQL_ * လုပ်ဆောင်ချက်များကိုအသုံးချပြီးဒေတာဘေ့စ်ကိုလုပ်ကိုင်ရန် MySQLI သို့မဟုတ် PDO ကို အသုံးပြုရန်အကြံပြုသည်။ MySQLI နှင့် PDO တို့သည် ပိုမိုအားကောင်းသည့်အင်္ဂါရပ်များနှင့်ပိုမိုကောင်းမွန်သောအမှားကိုင်တွယ်မှုယန္တရားများကိုပိုမိုကောင်းမွန်စေသည်။ အထူးသဖြင့် MySQLI သည် သင့်အားအရာဝတ်ထု ဦး စားပေးနည်းလမ်းများတွင်ဒေတာဘေ့စ်လုပ်ငန်းများကိုလုပ်ဆောင်ရန်ခွင့်ပြုသည်။ ဒေတာဘေ့စ်ဆက်သွယ်မှုများကိုလည်းစီမံခန့်ခွဲရန်နှင့် MySQL_CLOSE ကို အလွဲသုံးစားပြုခြင်းကြောင့်အမှားအယွင်းများကိုလည်းစီမံနိုင်သည်။
<span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</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">""</span></span><span>, </span><span><span class="hljs-string">"test_db"</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error) {
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"Connection failed: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
}
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">query</span></span><span>(</span><span><span class="hljs-string">"SELECT * FROM users"</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-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"User: "</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><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>(); </span><span><span class="hljs-comment">// အားလုံးစစ်ဆင်ရေးပြီးစီးပြီးနောက်မှသာဆက်သွယ်မှုပိတ်ထားသည်</span></span><span>
</span></span>
PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင် MySQL ဆက်သွယ်မှုများကိုမှန်ကန်စွာစီမံခြင်းသည်လျှောက်လွှာတည်ငြိမ်မှုကိုသေချာစေရန်အရေးကြီးသောအချက်တစ်ချက်ဖြစ်သည်။ MySQL_Close ၏အလွဲသုံးစားမှုသည် database connection အမှားများသို့မဟုတ်ခြွင်းချက်များဖြစ်စေလိမ့်မည်။ ၎င်းသည်လျှောက်လွှာ၏ပုံမှန်လည်ပတ်မှုကိုအကျိုးသက်ရောက်စေလိမ့်မည်။ အောက်ပါအကြံပြုချက်များကိုလိုက်နာခြင်းဖြင့်ဤပြ problems နာ များကို ထိရောက်စွာရှောင်ရှားနိုင်သည် - ဆက်သွယ်မှုကိုမပိတ်မီ Database စစ်ဆင်ရေးများအားလုံးကိုပိတ်ခြင်းကိုရှောင်ကြဉ်ပါ ။
သင့်လျော်သောဆက်သွယ်မှုစီမံခန့်ခွဲမှုသည်အမှားအယွင်းများကိုရှောင်ရှားရန်သာမကလျှောက်လွှာစွမ်းဆောင်ရည်နှင့်ယုံကြည်စိတ်ချရမှုကိုတိုးတက်စေရန်လည်းဖြစ်သည်။