PHP နှင့် MySQL အပေါ် အခြေခံ. application များဖွံ့ဖြိုးဆဲသောအခါ MySQL ဆာဗာ၏ဗားရှင်းအချက်အလက်များကိုကျွန်ုပ်တို့ရရှိရန်လိုအပ်သည်။ MySQL_GEget_server_info () function သည်ဤအတွက်အလွန်အသုံးဝင်သောနည်းလမ်းဖြစ်သည်။ ၎င်းသည်လက်ရှိချိတ်ဆက်ထားသော MySQL ဆာဗာ၏ဗားရှင်းနံပါတ်ကိုပြန်ပို့နိုင်သည်။ သို့သော် MySQL server မှပြန်လာသောဗားရှင်းနံပါတ်ပုံစံသည်ကိုက်ညီမှုရှိနိုင်သည်။ ၎င်းသည်ဖွံ့ဖြိုးတိုးတက်မှုအတွက်အခက်အခဲများဖြစ်ပေါ်စေလိမ့်မည်။ ဤဆောင်းပါးသည် MySQL_GEget_server_info () မှပြန်လာသောဗားရှင်းပုံစံကိုဖြည့်ဆည်းပေးလိမ့်မည်။
MySQL_Get_server_info () သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည်လက်ရှိချိတ်ဆက်ထားသော MySQL ဆာဗာဗားရှင်းနံပါတ်ကိုပြန်လည်ရောက်ရှိသည့် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အလွန်ရိုးရှင်းပါသည်။
$version = mysql_get_server_info();
ပြန်လာသော ဒေါ်လာဗားရှင်း သည်များသောအားဖြင့် MySQL server ၏ဗားရှင်းကိုကိုယ်စားပြုသော string တစ်ခုဖြစ်သည်။
MySQL 5.x ဗားရှင်းတွင်ပြန်လည်ရောက်ရှိသောဗားရှင်းနံပါတ်သည်များသောအားဖြင့် 5.7.30 or 5.6.45 string တစ်ခုဖြစ်ပြီးအဓိကဗားရှင်းနံပါတ်နှင့် patch numpes ကိုကိုယ်စားပြုသည်။ ဥပမာအားဖြင့်:
$version = mysql_get_server_info();
echo $version; // ထုတ်လုပ်ခြင်း 5.7.30 သို့မဟုတ် 5.6.45
MySQL 8.x တွင်ပြန်လည်ရောက်ရှိသောဗားရှင်းနံပါတ်အမျိုးအစားပြောင်းလဲသွားသည်။ အဓိကဗားရှင်းနံပါတ်, အသေးအဖွဲဗားရှင်းနံပါတ်နှင့် Patch Nume တို့အပြင် -Suffix နှင့်လည်းသက်ဆိုင်သောနောက်ထပ် meta အချက်အလက်များပါ 0 င်နိုင်သည်။ ဥပမာအားဖြင့်:
$version = mysql_get_server_info();
echo $version; // ထုတ်လုပ်ခြင်း 8.0.22-commercial သို့မဟုတ် 8.0.19
၎င်းတို့အနက် --commercial ဆိုသည်မှာဤဗားရှင်းသည်စီးပွားဖြစ် version ဖြစ်သည်။
MyiaDb သည် MySQL ၏ဌာနခွဲတစ်ခုဖြစ်သည်။ ဥပမာ - ဗားရှင်းနံပါတ်တွင် maliadb အမှတ်အသားပါရှိသည်။
$version = mysql_get_server_info();
echo $version; // ထုတ်လုပ်ခြင်း 10.3.27-MariaDB သို့မဟုတ် 10.4.14-MariaDB
ဤအချက်ကမူဗားရှင်းအချက်အလက်များကိုလုပ်ဆောင်သည့်အခါ Myiadb ဖြစ်သည်ကိုကျွန်ုပ်တို့လည်းပြုလုပ်နိုင်သည်။
MySQL မှပြန်လာသောကွဲပြားသောဗားရှင်းပုံစံများကိုထိရောက်စွာကိုင်တွယ်နိုင်ရန်အတွက် MySQL မှပြန်လာသောအနေဖြင့်ဗားရှင်းနံပါတ်၏ရှေ့ဆက်, နောက်ဆက်သို့မဟုတ်အလုံးစုံအရှည်အရခွဲခြားသတ်မှတ်နိုင်သည်။ ဤတွင်ဘုံအပြောင်းအလဲနဲ့နည်းဗျူဟာအချို့ကိုကြည့်ပါ။
ပုံမှန်အသုံးအနှုန်းများသည်မတူညီသောဗားရှင်းပုံစံများကိုကိုင်တွယ်ရန်အတွက်အစွမ်းထက်သောကိရိယာတစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည်မူလဗားရှင်းနံပါတ်, ဗားရှင်းနံပါတ်မှအသေးအဖွဲဗားရှင်းနံပါတ်နှင့် patch နံပါတ်ကိုထုတ်ယူရန်ပုံမှန်အသုံးအနှုန်းများကိုသုံးနိုင်သည်။ ဒီမှာနမူနာကုဒ်တစ်ခုပါ။
$version = mysql_get_server_info();
// ဟုတ်လားစစ်ဆေးပါ MariaDB
if (strpos($version, 'MariaDB') !== false) {
// ကိုင်တွယ်ဖြေရှင်းသည် MariaDB ဗားရှင်းနံပါတ်
preg_match('/(\d+\.\d+\.\d+)-MariaDB/', $version, $matches);
if ($matches) {
echo "MariaDB ထင်မြင်ချက်: " . $matches[1];
}
}
// ကိုင်တွယ်ဖြေရှင်းသည် MySQL ဗားရှင်းနံပါတ်
else {
preg_match('/(\d+\.\d+\.\d+)(-.*)?/', $version, $matches);
if ($matches) {
echo "MySQL ထင်မြင်ချက်: " . $matches[1];
}
}
တခါတရံ MySQL server ၏ဗားရှင်းနံပါတ်အရကွဲပြားခြားနားသောအပြောင်းအလဲအတွက်လိုအပ်သည်။ ဥပမာအားဖြင့်, version နံပါတ်သည် MySQL 5.x ဖြစ်ပါကကျွန်ုပ်တို့သည်သီးခြား SQL syntax အချို့ကိုသုံးနိုင်သည်။ အကယ်. ၎င်းသည် MySQL 8.x ဖြစ်လျှင်ကျွန်ုပ်တို့သည်အင်္ဂါရပ်အသစ်များအသစ်ကိုကျင့်သုံးနိုင်သည်သို့မဟုတ်သီးခြား bug များကိုဖြေရှင်းနိုင်သည်။ အောက်ဖော်ပြပါသည်နံပါတ်ကို အခြေခံ. ဌာနခွဲအပြောင်းအလဲကိုအကဲဖြတ်ခြင်းနှင့်ဖျော်ဖြေခြင်း၏ဥပမာတစ်ခုဖြစ်သည်။
$version = mysql_get_server_info();
// 获取主ဗားရှင်းနံပါတ်
preg_match('/^(\d+)\./', $version, $matches);
$majorVersion = isset($matches[1]) ? $matches[1] : 0;
if ($majorVersion >= 8) {
echo "ယခု MySQL 8 သို့မဟုတ်更高ထင်မြင်ချက်";
// ဉီးစီး MySQL 8.x 的相关ကိုင်တွယ်ဖြေရှင်းသည်
} elseif ($majorVersion >= 5) {
echo "ယခု MySQL 5.x ထင်မြင်ချက်";
// ဉီးစီး MySQL 5.x 的相关ကိုင်တွယ်ဖြေရှင်းသည်
} else {
echo "ယခု较低ထင်မြင်ချက်的 MySQL";
// ဉီးစီး旧ထင်မြင်ချက်的相关ကိုင်တွယ်ဖြေရှင်းသည်
}
MySQL 8.x တွင်ဗားရှင်းနံပါတ်သည် - စာနာ စင်ရေးရာနောက်ဆက်တွင်ပါ 0 င်နိုင်သည်။ ကျွန်ုပ်တို့သည်ဤနောက်ဆက်ကိုပုံမှန်အသုံးအနှုန်းများမှတစ်ဆင့်ထုတ်ယူနိုင်ပြီးအဓိကဗားရှင်းနံပါတ်ကိုသာထုတ်ယူနိုင်သည်။
$version = mysql_get_server_info();
// နောက်ဆက်အပိုင်းကိုဖယ်ရှားပါ
$version = preg_replace('/-.*$/', '', $version);
echo "MySQL ထင်မြင်ချက်: " . $version;
MyiaDB သည် MySQL ၏ဌာနခွဲတစ်ခုဖြစ်သည်။ ၎င်းတို့၏ဗားရှင်းနံပါတ်အမျိုးအစားသည်ဆင်တူသော်လည်း -mariadb နောက်ဆက်ရှိနိုင်သည်။ နှစ် ဦး စလုံးနှင့်လိုက်ဖက်ရန်, ၎င်းကိုတစ်ပုံစံတည်းဖြင့်ကိုင်တွယ်နိုင်သည်။
$version = mysql_get_server_info();
if (strpos($version, 'MariaDB') !== false) {
// MariaDB ထင်မြင်ချက်ကိုင်တွယ်ဖြေရှင်းသည်
preg_match('/(\d+\.\d+\.\d+)-MariaDB/', $version, $matches);
$version = $matches[1];
} else {
// MySQL ထင်မြင်ချက်ကိုင်တွယ်ဖြေရှင်းသည်
preg_match('/(\d+\.\d+\.\d+)(-.*)?/', $version, $matches);
$version = $matches[1];
}
echo "数据库ထင်မြင်ချက်: " . $version;
MySQL_GEget_server_info () function သည်ကွဲပြားသော MySQL ဗားရှင်းများနှင့် Mariadb တို့တွင်ကွဲပြားသောဗားရှင်းနံပါတ်ပုံစံကိုပြန်ပို့နိုင်သည်။ ဤဗားရှင်းနံပါတ်များကိုထိထိရောက်ရောက်ကိုင်တွယ်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည်၎င်းတို့၏ကုဒ်သည်ကွဲပြားခြားနားသောဒေတာဘေ့စ်ဗားရှင်းအောက်တွင်ပုံမှန်အလုပ်လုပ်နိုင်ရန်အတွက်ပုံမှန်ဖော်ပြမှုများ, ဤနည်းစနစ်များသည်ဤနည်းစနစ်များသည်ဒေတာဘေ့စ်ဗားရှင်းပြောင်းလဲမှုများနှင့်လိုက်လျောညီထွေမှုနှင့်လိုက်လျောညီထွေဖြစ်အောင်လုပ်ဆောင်ခြင်းကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။