PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဒေတာဘေ့စ်များနှင့်အခြား 0 န်ဆောင်မှုများနှင့်ချိတ်ဆက်သောအခါ connections အရင်းအမြစ်များကိုစီမံရန်အလွန်အရေးကြီးသည်။ အထူးသဖြင့် ဆက်သွယ်မှု function ကိုမှတစ်ဆင့်ဆက်သွယ်ထားသောဆက်သွယ်မှုကိုမှန်ကန်စွာမပိတ်နိုင်ပါကလျှောက်လွှာစွမ်းဆောင်ရည်နှင့်တည်ငြိမ်မှုကိုသက်ရောက်စေမည့်အရင်းအမြစ်ယိုစိမ့်မှုသို့ ဦး တည်သွားနိုင်သည်။ ဤဆောင်းပါးသည် PHP ရှိ Connection function ကိုအားဖြည့်ဆည်းပေးနိုင်သည့်အရင်းအမြစ်နှင့်စွမ်းဆောင်ရည်ပြ problems နာများကိုရှောင်ရှားရန်မည်သို့အားမရနိုင်ကြောင်းအသေးစိတ်ရှင်းပြပါလိမ့်မည်။
အရင်းအမြစ်ယိုစိမ့်မှုသည်စနစ်ကို အသုံးပြု. စနစ်အရင်းအမြစ်များကို အသုံးပြု. စနစ်အရင်းအမြစ်များကိုဖြန့်ချိရန်ဆုံးဖြတ်ခြင်းကိုရည်ညွှန်းသည်။ PHP အတွက် Unclesed connection များသည်မှတ်ဥာဏ်နှင့်စနစ်ဆက်သွယ်မှုများကိုသိမ်းပိုက်ရန်နောက်ဆက်တွဲတောင်းဆိုမှုများကိုဆက်လက်လုပ်ဆောင်သွားမည်ဖြစ်ပြီးနောက်ဆက်တွဲတောင်းဆိုမှုများကိုပြုလုပ်ရန်နောက်ဆက်တွဲတောင်းဆိုမှုများသည်နောက်ဆုံးတွင်စွမ်းဆောင်ရည်မြှင့်တင်ခြင်းသို့မဟုတ်စနစ်ပျက်ပြားစေလိမ့်မည်။
PHP တွင်ဘုံဆက်သွယ်မှုလုပ်ဆောင်ချက်များမှာ -
MySQLI_Connect () - MySQL ဒေတာဘေ့စ်ဆက်သွယ်မှု။
PG_Connect () - PostGresql ဒေတာဘေ့စ်ဆက်သွယ်မှုများ။
Custom Connection function - API သို့မဟုတ် 0 န်ဆောင်မှုအတွက် connection function တစ်ခုဖြစ်နိုင်သည်။
ဆက်သွယ်မှုမည်သို့ပင်ရှိပါစေဆက်သွယ်မှုကိုအတိအလင်းသို့မဟုတ်လုံးလုံးလွားလွားကိုပိတ်ရန်လိုအပ်သည်။
<?php
$host = "m66.net";
$user = "username";
$password = "password";
$dbname = "test_db";
// ဆက်သွယ်မှုတစ်ခုတည်ဆောက်ပါ
$conn = mysqli_connect($host, $user, $password, $dbname);
if (!$conn) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . mysqli_connect_error());
}
// တစ် ဦး စုံစမ်းမှု execute
$sql = "SELECT * FROM users";
$result = mysqli_query($conn, $sql);
// အပြောင်းအလဲများရလဒ်များ
if ($result) {
while ($row = mysqli_fetch_assoc($result)) {
echo "အသုံးပြုသူ: " . $row['username'] . "<br>";
}
// ရလဒ်ကိုလွှတ်ပေးရန်
mysqli_free_result($result);
}
// ဆက်သွယ်မှုကိုပိတ်ပါ
mysqli_close($conn);
?>
ဒီမှာအဓိကအချက်များမှာ -
ဒေတာဘေ့စ်စုံစမ်းမှုရလဒ်များကိုအသုံးပြုပြီးနောက်ရလဒ်ကိုထုတ်ပြန်ရန် MySQLI_FREE_RESELT () ကိုခေါ်ယူရန်အတွက်ရလဒ်ကိုထုတ်ပြန်ရန်ခေါ်ပါ။
Connection ကိုအသုံးပြုပြီးနောက်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုပိတ်ရန်နှင့်အရင်းအမြစ်များကိုဖြန့်ချိစေရန် MySQLI_CLOE () ကိုခေါ်ပါ။
အရာဝတ်ထုကိုပုံမှန်အားဖြင့်ဖျက်ဆီးခံရသောအခါ PDO သည်ဆက်သွယ်မှုကိုပိတ်ပစ်သော်လည်းရှင်းလင်းပြတ်သားစွာပြတ်တောက်ခြင်းမှာရှင်းလင်းပြတ်သားသည်။
<?php
$dsn = "mysql:host=m66.net;dbname=test_db;charset=utf8mb4";
$username = "username";
$password = "password";
try {
$pdo = new PDO($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->query("SELECT * FROM users");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "အသုံးပြုသူ: " . $row['username'] . "<br>";
}
// ဆက်သွယ်မှုကိုပိတ်ပါ
$pdo = null;
} catch (PDOException $e) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $e->getMessage();
}
?>
NULL သို့ $ PDO ကိုသတ်မှတ်ပြီးနောက်ဆက်သွယ်မှုကိုပိတ်ထားပြီးအရင်းအမြစ်ကိုထုတ်ပြန်လိမ့်မည်။
အရင်းအမြစ်များကုန်ခန်းခြင်း ။
စွမ်းဆောင်ရည်ပျက်စီးခြင်း - မှတ်ဥာဏ်အသုံးပြုမှုတိုးလာသည်။
အန္တရာယ်ကင်းရှင်းရေးဆိုင်ရာအန္တရာယ် - မဖြည့်တင်းသောဆက်သွယ်မှုများသည် connection pool ကိုပင်ပန်းနွမ်းနယ်စေပြီးစနစ်တည်ငြိမ်မှုကိုထိခိုက်စေနိုင်သည်။
ဆက်သွယ်မှုပိတ်သိမ်းမှု၏အရေးပါမှုကိုဘယ်တော့မှလျစ်လျူမရှုပါနှင့်။
MySQLI_CLOE () ကဲ့သို့သော built-in function များကိုသုံးပါသို့မဟုတ်ဆက်သွယ်မှုပြတ်တောက်ခြင်းသေချာစေရန်အတွက် NULL သို့သတ်မှတ်ပါ။
ရလဒ်ကိုရလဒ်ထုတ်ယူပြီးနောက်ရလဒ်ကိုဖြန့်ချိ။
Custom Connection function များသည် connection ကိုပိတ်ရန် interface ကိုပေးထားကြောင်းသေချာအောင်လုပ်ပါ။
ဆက်နွယ်မှုရှိသောအရင်းအမြစ်များကိုဆင်ခြင်တုံတရားစီမံခန့်ခွဲခြင်းအားဖြင့်လျှောက်လွှာစွမ်းဆောင်ရည်ကိုတိုးတက်အောင်လုပ်နိုင်ပြီးစနစ်၏တည်ငြိမ်မှုကိုသေချာစေနိုင်သည်။