PHP同时连接多个mysql数据库示例代码

来源:三联时间:2014-03-20

  这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下

  实例:

  代码如下:

  $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]." ";

  $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函数中指定所用连接,即:

  代码如下:

  $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]." ";

  $sql = "select * from web ";

发表评论

最新评论(共0条)