ဒေတာဘေ့စ်ဆက်သွယ်မှုမျိုးစုံကိုစီမံသည့်အခါ connection တစ်ခုစီအတွက်ဇာတ်ကောင် settings တွင်ရှေ့တန်းဆက်တင်များပြုလုပ်ရန်အရေးကြီးသည်။ ကွဲပြားခြားနားသောဒေတာဘေ့စ်ဆက်သွယ်မှုများတွင်ကွဲပြားခြားနားသောဒေတာဘေ့စ်များပါဝင်နိုင်ပြီးဒေတာဘေ့စ်တစ်ခုစီ၏ဇာတ်ကောင်များကွဲပြားနိုင်သည်။ ဒေတာဖတ်ရှုခြင်းပြ problems နာများ (ထိုကဲ့သို့သော carbled code ကဲ့သို့) စာဖတ်ခြင်းပြ problems နာများ (ထိုကဲ့သို့သော carbled code ကဲ့သို့) မရှိမဖြစ်လိုအပ်ချက်များကိုရှောင်ရှားရန် MySQLI :: get_charet function ကိုသုံးနိုင်သည်။
MySQLI :: Get_charset လုပ်ဆောင်မှုသည်လက်ရှိဒေတာဘေ့စ်ဆက်သွယ်မှုအတွက်ဇာတ်ကောင် setting များကိုရရှိရန်အသုံးပြုသည်။ ဆိုလိုသည်မှာ Multi-Database ပတ်ဝန်းကျင်တွင်ဤလုပ်ဆောင်မှုသည် connection တစ်ခုစီသည်တူညီသောဇာတ်ကောင်ကိုအသုံးပြုသည်ကိုစစ်ဆေးရန်အသုံးပြုနိုင်သည်။
ပထမ ဦး စွာ PHP ရှိ MySQLI extension မှတဆင့်ဒေတာဘေ့စ်ဆက်သွယ်မှုကိုမည်သို့တည်ဆောက်ရမည်ကိုကြည့်ကြပါစို့။ Connection ၏ sett settings settings ကိုအတည်ပြုရန် MySQLI :: get_charet function ကိုသုံးပါရစေ။
<?php
// ဒေတာဘေ့စ် connection တစ်ခုဖန်တီးပါ
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// ဆက်သွယ်မှုအောင်မြင်မှုရှိမရှိစစ်ဆေးပါ
if ($mysqli->connect_error) {
die('ဆက်သွယ်မှုမအောင်မြင်ပါ: ' . $mysqli->connect_error);
}
// လက်ရှိချိတ်ဆက်၏ဇာတ်ကောင်အစုံရယူပါ
$charset = $mysqli->get_charset();
// လက်ရှိဇာတ်ကောင်အစုံ output ကို
echo "လက်ရှိဇာတ်ကောင်အစုံဖြစ်ပါတယ်: " . $charset->charset;
?>
Multi-database connection စီမံခန့်ခွဲမှုတွင်ကျွန်ုပ်တို့သည်ဒေတာဘေ့စ်မျိုးစုံနှင့်ချိတ်ဆက်နိုင်သည်။ ဒေတာဘေ့စ်တစ်ခုစီသည်ကွဲပြားသောဇာတ်ကောင်တစ်မျိုးစီရှိနိုင်သည်။ ဇာတ်ကောင်များ၏ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန် Connection တစ်ခုစီတွင်ဖော်ပြထားသောစာလုံးကို သတ်မှတ်. ကျွန်ုပ်၏မှန်ကန်မှုကိုအတည်ပြုရန် MySQLI :: get_charet function ကိုသုံးနိုင်သည်။
<?php
// ပထမဆုံးဒေတာဘေ့စ် connection ကိုဖန်တီးပါ
$mysqli1 = new mysqli('localhost', 'username', 'password', 'database1');
// ဇာတ်ကောင်ကိုသတ်မှတ်ပါ utf8
$mysqli1->set_charset('utf8');
// ဒုတိယဒေတာဘေ့စ်ဆက်သွယ်မှုကိုဖန်တီးပါ
$mysqli2 = new mysqli('localhost', 'username', 'password', 'database2');
// ဇာတ်ကောင်ကိုသတ်မှတ်ပါ utf8
$mysqli2->set_charset('utf8');
// ပထမ ဦး ဆုံးချိတ်ဆက်ထားသောဇာတ်ကောင် set ကိုစစ်ဆေးအတည်ပြုပါ
echo "ပထမ ဦး ဆုံးဒေတာဘေ့စ် connection character set: " . $mysqli1->get_charset()->charset . "<br>";
// ဒုတိယဆက်သွယ်မှု၏ဇာတ်ကောင်အစုံကိုစစ်ဆေးပြီးအတည်ပြုပါ
echo "ဒုတိယဒေတာဘေ့စ် connection character set: " . $mysqli2->get_charset()->charset . "<br>";
?>
MySQLI :: SET_CHARSet လုပ်ဆောင်မှုနှင့်အတူဒေတာဘေ့စ်ဆက်သွယ်မှုအားလုံးသည်တူညီသောဇာတ်ကောင် set (ဥပမာ UTF8 ) ကိုအသုံးပြုသည်။ ထို့နောက်ရှေ့နောက်ညီညွတ်မှုကိုသေချာစေရန်လက်ရှိဇာတ်ကောင်များကိုစစ်ဆေးရန် MySQLI :: Get_charet လုပ်ဆောင်မှုကိုသုံးပါ။
ဒေတာအမျိုးမျိုးဝန်းကျင်တွင်ဒေတာများကို URLs များမှတဆင့်ပြန်လည်ရယူပြီးဒေတာဘေ့စ်နှင့်အပြန်အလှန်ဆက်သွယ်သည့်အခြေအနေများရှိပါက ublabase နှင့်အပြန်အလှန်ဆက်သွယ်ထားသည့်အခြေအနေများရှိပါက URL မှဖြတ်သန်းသွားသောအချက်အလက်များသည်ဒေတာဘေ့စ်၏ဇာတ်ကောင်နှင့်ကိုက်ညီမှုရှိစေရန်လည်းလိုအပ်နိုင်သည်။ ဥပမာအားဖြင့်, http://exampe.com/api/data/data/data/dataforet=utf8 ကိုညွှန်ပြပါက PHP code ကို အသုံးပြု. ဤ parameter သည် url ကို အခြေခံ. ဒေတာဘေ့စ် connection ၏ဇာတ်ကောင်ဆက်သွယ်မှုကိုညှိရန် PHP code ကိုသုံးနိုင်သည်။
မူရင်း URL သည်အောက်ပါအတိုင်းဖြစ်သည်ဟုယူဆပါ -
<?php
$url = 'http://example.com/api/data?charset=utf8';
$parsed_url = parse_url($url);
parse_str($parsed_url['query'], $query_params);
// မှ URL အက်ခရာအစုံရယူပါ
if (isset($query_params['charset'])) {
$charset_from_url = $query_params['charset'];
echo "မှ URL ဇာတ်ကောင်အစုံရယူပါ: " . $charset_from_url . "<br>";
} else {
echo "URL ဇာတ်ကောင် set parameters တွေကိုသတ်မှတ်ထားကြသည်မဟုတ်。<br>";
}
?>
M66.net ဒိုမိန်းအမည်အပြီးလိုအပ်သောကုဒ်များကိုပြင်ဆင်ပါ။
<?php
$url = 'http://m66.net/api/data?charset=utf8';
$parsed_url = parse_url($url);
parse_str($parsed_url['query'], $query_params);
// မှ URL အက်ခရာအစုံရယူပါ
if (isset($query_params['charset'])) {
$charset_from_url = $query_params['charset'];
echo "မှ URL ဇာတ်ကောင်အစုံရယူပါ: " . $charset_from_url . "<br>";
} else {
echo "URL ဇာတ်ကောင် set parameters တွေကိုသတ်မှတ်ထားကြသည်မဟုတ်。<br>";
}
?>
Multi-Database connection environ န်းကျင်တွင်ဇာတ်ကောင် settings တူညီမှုကိုထိန်းသိမ်းခြင်းသည်အမှိုက်များကိုရှောင်ရှားရန်အလွန်အရေးကြီးသည်။ MySQLI :: SET_CHARSet နှင့် MySQLI :: get_charet လုပ်ဆောင်မှုများနှင့်အတူဒေတာဘေ့စ်ဆက်သွယ်မှုတစ်ခုစီသည်တူညီသောဇာတ်ကောင်သတ်မှတ်ချက်များကိုအသုံးပြုသည်။ ထို့အပြင်လျှောက်လွှာတွင် URLs မှတစ်ဆင့်အချက်အလက်များရရှိရန်ပါ 0 င်ပါက URL တွင်ဇာတ်ကောင်သတ်မှတ်ချက်များပါ 0 င်နိုင်သည်။
၎င်းသည်စနစ်၏တည်ငြိမ်မှုကိုတိုးတက်စေရုံသာမကကွဲပြားခြားနားသောဒေတာဘေ့စ်အကြားဒေတာဖလှယ်မှုသည်အမှားအယွင်းများကိုမကိုက်ညီသောဇာတ်ကောင်များကြောင့်အမှားများကိုမဖြစ်စေနိုင်ကြောင်းသေချာစေသည်။