$conn1=mysql_connect('...','...','...'); //將第一個(gè)數(shù)據(jù)庫(kù)連接資源保存到變量conn1中
清苑網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,清苑網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為清苑成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的清苑做網(wǎng)站的公司定做!
$conn2=mysql_connect('...','...','...'); //將第二個(gè)數(shù)據(jù)庫(kù)連接資源保存到變量conn2中
然后在執(zhí)行查詢操作時(shí),指定使用哪個(gè)連接資源,如:mysql_query('select ....',$conn1);
希望可以幫到你,謝謝!
這篇文章主要介紹了PHP同時(shí)連接多個(gè)mysql數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn),需要的朋友可以參考下
實(shí)例:
代碼如下:
?php
$conn1
=
mysql_connect("127.0.0.1",
"root","root","db1");
mysql_select_db("db1",
$conn1);
$conn2
=
mysql_connect("127.0.0.1",
"root","root","db2");
mysql_select_db("db2",
$conn2);
$sql
=
"select
*
from
ip";
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0]."n";
$sql
=
"select
*
from
web
";
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
?
這段代碼存在問(wèn)題,在程序執(zhí)行時(shí)會(huì)報(bào)錯(cuò):PHP
Warning:
mysql_fetch_array()
expects
parameter
1
to
be
resource,
boolean
given
in
....
原因分析:
程序開始建立兩個(gè)數(shù)據(jù)庫(kù)鏈接,函數(shù)mysql_query()原型:
resource
mysql_query
(
string
$query
[,
resource
$link_identifier
]
)
向與指定的連接標(biāo)識(shí)符關(guān)聯(lián)的服務(wù)器中的當(dāng)前活動(dòng)數(shù)據(jù)庫(kù)發(fā)送一條查詢。如果沒(méi)有指定
link_identifier,則使用上一個(gè)打開的連接。如果沒(méi)有打開的連接,本函數(shù)會(huì)嘗試無(wú)參數(shù)調(diào)用
mysql_connect()
函數(shù)來(lái)建立一個(gè)連接并使用之。查詢結(jié)果會(huì)被緩存。
在本例中由于沒(méi)有指定link_identifier,所以,在執(zhí)行第一條sql時(shí),默認(rèn)使用的是上一個(gè)打開的鏈接,即$conn2,而實(shí)際上第一條sql語(yǔ)句應(yīng)該使用的是$conn1,所以導(dǎo)致報(bào)錯(cuò),所以為了能夠鏈接多個(gè)mysql數(shù)據(jù)庫(kù),可以使用如下方法:
方法1:在mysql_query函數(shù)中指定所用連接,即:
代碼如下:
?php
$conn1
=
mysql_connect("127.0.0.1",
"root","root","db1");
mysql_select_db("Muma",
$conn1);
$conn2
=
mysql_connect("127.0.0.1",
"root","root","db2");
mysql_select_db("product",
$conn2);
$sql
=
"select
*
from
ip";
$query
=
mysql_query($sql,$conn1);
//添加連接$conn1
if($row
=
mysql_fetch_array($query))
echo
$row[0]."n";
$sql
=
"select
*
from
web
";
$query
=
mysql_query($sql,
$conn2);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
?
方法2:在sql語(yǔ)句中關(guān)聯(lián)所用數(shù)據(jù)庫(kù),此時(shí)可以省略mysql_query的第二個(gè)參數(shù),即:
代碼如下:
?php
$conn1
=
mysql_connect("127.0.0.1",
"root","root","db1");
mysql_select_db("db1",
$conn1);
$conn2
=
mysql_connect("127.0.0.1",
"root","root","db2");
mysql_select_db("db2",
$conn2);
$sql
=
"select
*
from
db1.ip";
//關(guān)聯(lián)數(shù)據(jù)庫(kù)
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0]."n";
$sql
=
"select
*
from
db2.web
";
$query
=
mysql_query($sql);
if($row
=
mysql_fetch_array($query))
echo
$row[0];
?
1、onfig.php文件
'LOAD_EXT_CONFIG'
='db,db_config',
//
加載擴(kuò)展
配置文件
。多個(gè)文件用逗號(hào)分隔
//其中db.php中放置的是mysql的配置
//db_config放置的是
sqlserver
的配置
2、其中db.php內(nèi)容如下
return
array(
'DB_TYPE'='mysql',
'DB_HOST'='
localhost
',
'DB_NAME'='your_mysql_dbname',
'DB_USER'='your_mysql_user_name',
'DB_PWD'='123456',
'DB_PORT'='3306',
'DB_PREFIX'='',
);
db_config.php內(nèi)容如下
return
array(
'DB_CONFIG1'
=
array(
'db_type'
=
'pdo',
'db_user'
=
'XX',
'db_pwd'
=
'XXXXXXXX',
'DB_DSN'
=
'sqlsrv:Server=XXXXXX;Database=XXXX',
),
);
3、在Lib/Model下新建一個(gè)專門的模型
class
SqlsrvModel
extends
Model
{
protected
$
connection
=
'DB_CONFIG1';
}
4、可以在Action
中調(diào)
各個(gè)模型了