PHP同時連接多個mysql數據庫示例代碼
來源:易賢網 閱讀:1176 次 日期:2014-08-22 11:03:23
溫馨提示:易賢網小編為您整理了“PHP同時連接多個mysql數據庫示例代碼”,方便廣大網友查閱!

這篇文章主要介紹了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];

?>

這段代碼存在問題,在程序執(zhí)行時會報錯:PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ....

原因分析:

程序開始建立兩個數據庫鏈接,函數mysql_query()原型:

resource mysql_query ( string $query [, resource $link_identifier ] )

向與指定的連接標識符關聯的服務器中的當前活動數據庫發(fā)送一條查詢。如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用 mysql_connect() 函數來建立一個連接并使用之。查詢結果會被緩存。

在本例中由于沒有指定link_identifier,所以,在執(zhí)行第一條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];

?>

更多信息請查看IT技術專欄

更多信息請查看網絡編程
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點

版權所有:易賢網