十年網(wǎng)站開(kāi)發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
thinkphp 同時(shí)連接兩個(gè)數(shù)據(jù)庫(kù)的配置方法如下:
北京ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
1、在Db.class.php腳本文件里面的類增加一個(gè)魔術(shù)方法__get(),寫(xiě)法如下:
public function __get($propertyName)
{ return $this-$propertyName;
}
這個(gè)方法是用來(lái)訪問(wèn)類中protected $config成員屬性用的。有的人可能會(huì)說(shuō),直接把protected改成public豈不是更好。這樣只解決了基類的問(wèn)題,假如,子類也同樣進(jìn)行了受保護(hù),那要你更改更多的文件,這是我們做IT程序員非常不愿意看到的事情。
2、在Model.class.php中的getTableName()方法更改如下:
$tablepre = $this-db-config['tablepre'];
if(empty($this-trueTableName)) {
$tableName??= empty($tablepre) ? $this-tablePrefix : $tablepre;
if(!empty($this-tableName)) {
$tableName .= $this-tableName;
}
else
{
$tableName .= parse_name($this-name);
}
$this-trueTableName? ? =? ?strtolower($tableName);
}
return (!empty($this-dbName)?$this-dbName.'.':'').$this-
trueTableName;這樣就完成了多庫(kù)自由切換時(shí),導(dǎo)致的表前綴問(wèn)題。
/*******************面向?qū)ο驪DO連接方式*********************/
'DB_TYPE' = 'PDO', // 數(shù)據(jù)庫(kù)類型
'DB_DSN' = 'mysql:host=localhost;dbname=master', // DSN連接。
'DB_USER' = 'root', // 數(shù)據(jù)庫(kù)用戶名
'DB_PWD' = '123456', // 數(shù)據(jù)庫(kù)密碼
'DB_PORT' = '3306', // 數(shù)據(jù)庫(kù)端口
'DB_PREFIX' = 'g_', // 數(shù)據(jù)表前綴
'DB_CHARSET' = 'utf8', // 數(shù)據(jù)庫(kù)編碼默認(rèn)采用utf8
$conn1=mysql_connect('...','...','...'); //將第一個(gè)數(shù)據(jù)庫(kù)連接資源保存到變量conn1中
$conn2=mysql_connect('...','...','...'); //將第二個(gè)數(shù)據(jù)庫(kù)連接資源保存到變量conn2中
然后在執(zhí)行查詢操作時(shí),指定使用哪個(gè)連接資源,如:mysql_query('select ....',$conn1);
希望可以幫到你,謝謝!
只能連接一個(gè)庫(kù),庫(kù)里面可以有多張表。
我是弄IOS的,所以在這些方面我比較熟。