重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
實例化兩條sql鏈接.
10年的昭化網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整昭化建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯建站從事“昭化網站設計”,“昭化網站推廣”以來,每個客戶項目都認真落實執行。
例如?
$wdb?=?mysql_connect('localhost','root','123456','a1');//負責寫入的數據庫
$rdb?=?mysql_connect('192.168.xx.xx','root','123456','a2');//負責讀的數據庫
這樣就可以鏈接兩個數據庫了。
程序開始建立兩個數據庫連接,函數mysql_query()原型:
resource?mysql_query?(?string?$query?[,?resource?$link_identifier?] )
方法1:在mysql_query函數中指定所用連接,即:
方法2:在sql語句中關聯所用數據庫,此時可以省略mysql_query的第二個參數,即:
只能連接一個庫,庫里面可以有多張表。
我是弄IOS的,所以在這些方面我比較熟。
這篇文章主要介紹了PHP同時連接多個mysql數據庫的具體實現,需要的朋友可以參考下
實例:
代碼如下:
?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];
?
這段代碼存在問題,在程序執行時會報錯:PHP
Warning:
mysql_fetch_array()
expects
parameter
1
to
be
resource,
boolean
given
in
....
原因分析:
程序開始建立兩個數據庫鏈接,函數mysql_query()原型:
resource
mysql_query
(
string
$query
[,
resource
$link_identifier
]
)
向與指定的連接標識符關聯的服務器中的當前活動數據庫發送一條查詢。如果沒有指定
link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用
mysql_connect()
函數來建立一個連接并使用之。查詢結果會被緩存。
在本例中由于沒有指定link_identifier,所以,在執行第一條sql時,默認使用的是上一個打開的鏈接,即$conn2,而實際上第一條sql語句應該使用的是$conn1,所以導致報錯,所以為了能夠鏈接多個mysql數據庫,可以使用如下方法:
方法1:在mysql_query函數中指定所用連接,即:
代碼如下:
?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語句中關聯所用數據庫,此時可以省略mysql_query的第二個參數,即:
代碼如下:
?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";
//關聯數據庫
$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];
?
$conn1=mysql_connect('...','...','...'); //將第一個數據庫連接資源保存到變量conn1中
$conn2=mysql_connect('...','...','...'); //將第二個數據庫連接資源保存到變量conn2中
然后在執行查詢操作時,指定使用哪個連接資源,如:mysql_query('select ....',$conn1);
希望可以幫到你,謝謝!
應該是這樣的
$conb=mysql_connect("localhost","root","")or die("mysql連接失敗");
$cont=mysql_connect("localhost","root","", true)or die("mysql連接失敗");
第四個參數true/false表示是否開啟一個新的連接,默認是false
好了,現在它們連接到不同的數據庫咯