實(shí)例化兩條sql鏈接.
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)大寧,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
例如?
$wdb?=?mysql_connect('localhost','root','123456','a1');//負(fù)責(zé)寫入的數(shù)據(jù)庫
$rdb?=?mysql_connect('192.168.xx.xx','root','123456','a2');//負(fù)責(zé)讀的數(shù)據(jù)庫
這樣就可以鏈接兩個(gè)數(shù)據(jù)庫了。
$conn1=mysql_connect('...','...','...'); //將第一個(gè)數(shù)據(jù)庫連接資源保存到變量conn1中
$conn2=mysql_connect('...','...','...'); //將第二個(gè)數(shù)據(jù)庫連接資源保存到變量conn2中
然后在執(zhí)行查詢操作時(shí),指定使用哪個(gè)連接資源,如:mysql_query('select ....',$conn1);
希望可以幫到你,謝謝!
thinkphp 同時(shí)連接兩個(gè)數(shù)據(jù)庫的配置方法如下:
1、在Db.class.php腳本文件里面的類增加一個(gè)魔術(shù)方法__get(),寫法如下:
public?function?__get($propertyName)
{?return?$this-$propertyName;
}
這個(gè)方法是用來訪問類中protected $config成員屬性用的。有的人可能會(huì)說,直接把protected改成public豈不是更好。這樣只解決了基類的問題,假如,子類也同樣進(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;這樣就完成了多庫自由切換時(shí),導(dǎo)致的表前綴問題。
/*******************面向?qū)ο驪DO連接方式*********************/
'DB_TYPE'?=?'PDO',?//?數(shù)據(jù)庫類型
'DB_DSN'?=?'mysql:host=localhost;dbname=master',?//?DSN連接。
'DB_USER'?=?'root',?//?數(shù)據(jù)庫用戶名
'DB_PWD'?=?'123456',?//?數(shù)據(jù)庫密碼
'DB_PORT'?=?'3306',?//?數(shù)據(jù)庫端口
'DB_PREFIX'?=?'g_',?//?數(shù)據(jù)表前綴
'DB_CHARSET'?=?'utf8',?//?數(shù)據(jù)庫編碼默認(rèn)采用utf8
$conn1=mysql_connect('...','...','...'); //將第一個(gè)數(shù)據(jù)庫連接資源保存到變量conn1中
$conn2=mysql_connect('...','...','...'); //將第二個(gè)數(shù)據(jù)庫連接資源保存到變量conn2中
然后在執(zhí)行查詢操作時(shí),指定使用哪個(gè)連接資源,如:mysql_query('select ....',$conn1);