PHP ပရိုဂရမ်တွင် Connect () function တွင် (များသောအားဖြင့် database connection function function ကိုရည်ညွှန်းသည်။ ထိုကဲ့သို့သော MySQLI_Connect () သို့မဟုတ် PDO ဆက်သွယ်မှုနည်းလမ်းကဲ့သို့သော database connection function ကိုရည်ညွှန်းသည်) သည်အလွန်အရေးကြီးသည်။ မှန်ကန်စွာဖြတ်သန်းသွားသော parameters တွေကိုချောချောမွေ့မွေ့ကိုချောချောမွေ့မွေ့နဲ့ချိတ်ဆက်ပြီးပရိုဂရမ်ပျက်ခြင်း, ဤဆောင်းပါးသည် Connect () function တွင်အမှားအယွင်းများကိုဖြတ်သန်းခြင်း, အကြောင်းရင်းများကိုခွဲခြမ်းစိတ်ဖြာခြင်း,
Host Nait (Host) အမှား
Domain Name သို့မဟုတ် IP လိပ်စာမှားယွင်းစွာအသုံးပြုခဲ့ပြီးဒေတာဘေ့စ်ဆာဗာနှင့်ချိတ်ဆက်နိုင်ခြင်းမရှိခြင်းကိုအသုံးပြုခဲ့သည်။
Error Gr example errorlqli_Connect ('localhostt', 'userhostt', 'Pass') (Pass's) ( localhostt typo)
port နံပါတ်အတွက်အမှား
မှန်ကန်သော port နံပါတ်ကိုသတ်မှတ်ရန်မေ့နေပါသလား။
ပုံသေဆိပ်ကမ်းသည် 3306 ဖြစ်သည်။ သို့သော်ဒေတာဘေ့စ်သည်ပုံမှန်မဟုတ်သော port တစ်ခုပေါ်တွင်အလုပ်လုပ်သည်ဆိုပါက၎င်းကိုအတိအလင်းသတ်မှတ်ရန်လိုအပ်သည်။
မမှန်ကန်သောအသုံးပြုသူအမည်သို့မဟုတ်စကားဝှက်
မှားယွင်းသောသုံးစွဲသူအမည်သို့မဟုတ်စကားဝှက်ကိုရိုက်ထည့်ပြီးဒေတာဘေ့စ်သည်ချိတ်ဆက်ရန်ငြင်းဆန်ခဲ့သည်။
စကားဝှက်များတွင်အထူးအက္ခရာများပါ 0 င်သော်လည်းမှန်ကန်သောဇာတ်ကောင်များမှန်ကန်စွာဆက်သွယ်မှုမရှိသေးပါ။
ဒေတာဘေ့စ်အမည်အမှား
သတ်မှတ်ထားသောဒေတာဘေ့စ်အမည်မတည်ရှိပါသို့မဟုတ်စာလုံးပေါင်းမှားနေသည်။
အချို့သောကိစ္စရပ်များတွင်ဒေတာဘေ့စ်၏အမည်ကိုမသတ်မှတ်ခြင်းသည်နောက်ဆက်တွဲမေးမြန်းချက်များကိုပျက်ကွက်စေနိုင်သည်။
မမှန်ကန်သော parameter အမိန့်သို့မဟုတ်အရေအတွက်
ဥပမာ MySQLI_Connect () MySQLI_Connect () ၏ parameter အမိန့် () ကို Host, Username, Password, DBName, port, socket ဖြစ်ရမည်။ ပျောက်ဆုံးနေသော parameters များသို့မဟုတ်မှားယွင်းသောအမိန့်သည်ဆက်သွယ်မှုကိုကျရှုံးစေလိမ့်မည်။
unumandled ဆက်သွယ်မှုပျက်ကွက်အမှား
ချိတ်ဆက်မှု () မှားယွင်းစွာ ပြန်လည်ရှာဖွေရန်ပျက်ကွက်ခြင်း, နောက်ဆက်တွဲစစ်ဆင်ရေးများနှင့်အစီအစဉ်၏ပုံမှန်မဟုတ်သောပြတ်တောက်ခြင်းများအတွက်အမှားတစ်ခုဖြစ်ပေါ်စေသည်။
MySQLI_Connect () ဥပမာတစ်ခုအနေဖြင့် parameter အမိန့်နှင့်အဓိပ္ပာယ်ကိုတင်းကြပ်စွာလိုက်နာရမည်။
<?php
$conn = mysqli_connect('m66.net', 'username', 'password', 'database_name', 3306);
if (!$conn) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . mysqli_connect_error());
}
echo "အောင်မြင်စွာဆက်သွယ်မှု";
?>
ဤနေရာတွင် M66.NET သည် M66.NET သည်အမှန်တကယ်ဒေတာဘေ့စ်ဆာဗာလိပ်စာကိုအစားထိုးသည်။
code တွင် hard-code ကိုရှောင်ရှားရန်နှင့်အမှားအယွင်းများကိုလျှော့ချရန် configuration files များကို configuration files များသို့ရေးပါ။
<?php
$config = [
'host' => 'm66.net',
'username' => 'user',
'password' => 'pass',
'dbname' => 'mydb',
'port' => 3306,
];
$conn = mysqli_connect(
$config['host'],
$config['username'],
$config['password'],
$config['dbname'],
$config['port']
);
if (!$conn) {
die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . mysqli_connect_error());
}
?>
PDO နည်းလမ်းသည်ပိုမိုလုံခြုံစိတ်ချရပြီးခြွင်းချက်ကိုင်တွယ်မှုကိုထောက်ခံသည်။
<?php
$dsn = 'mysql:host=m66.net;dbname=mydb;port=3306;charset=utf8mb4';
$user = 'user';
$pass = 'p@ssw0rd!';
try {
$pdo = new PDO($dsn, $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "အောင်မြင်စွာဆက်သွယ်မှု";
} catch (PDOException $e) {
echo "ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $e->getMessage();
}
?>
မည်သည့်ဆက်သွယ်မှုနည်းလမ်းကိုမခွဲခြားဘဲအောင်မြင်မှုအတွက်စစ်ဆေးသင့်သည်။
MySQLI_Connect () မှားယွင်းသော သို့မဟုတ်အမှားအယွင်းများကိုပြန်ပို့သည်
PDO ကခြွင်းချက်တစ်ခုချထားသည်
၎င်းသည်ပြ problems နာများကိုချက်ချင်းရှာဖွေတွေ့ရှိလိမ့်မည်။
တစ်ခါတစ်ရံဆက်သွယ်မှုပြတ်တောက်မှုသည်ကုဒ်နံပါတ်မဟုတ်ပါ, သို့သော် database server ကိုမစတင်ဘဲသို့မဟုတ် firewalls သည်လက်လှမ်းမီမှုကိုပိတ်ဆို့ခြင်းမဟုတ်ပါ။ ဆာဗာသည်ပုံမှန်အားဖြင့်ပုံမှန်လည်ပတ်နေပြီးသက်ဆိုင်ရာဆိပ်ကမ်းသို့ဝင်ရောက်ခွင့်ပြုရန်သေချာပါစေ။
PHP တွင် Connect () function ကို အသုံးပြု. ဒေတာဘေ့စ်ကိုချိတ်ဆက်သောအခါ perameters များ၏တိကျမှုသည်အလွန်အရေးကြီးသည်။ အများအားဖြင့်စာလုံးပေါင်းအမှားများ, လွဲချော်သော parameter သည်အမိန့်များ, လိုအပ်သော parameter တွေကိုမရှိခြင်း, Parameter သည်စီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှု, ဆင်ခြင်ရေးဖိုင်အိတ်များကိုတန်ဖိုးထားခြင်း,