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

时间:2023-11-23 21:12:28 

实例:


<?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];
?>
标签:PHP,同时连接,mysql数据库
0
投稿

猜你喜欢

  • IE8 CSS之生成内容

    2008-09-09 22:14:00
  • 谦逊编程(翻译整理)

    2009-07-28 12:52:00
  • 配置SQL Server以允许远程连接

    2010-03-08 13:12:00
  • 解决在Dreamweaver中不支持中文文件名的方法

    2010-09-02 12:35:00
  • asp如何读取文本文件的内容?

    2009-11-18 20:55:00
  • 页面软键盘汉字输入

    2010-09-01 20:41:00
  • “尊重”设计师?

    2009-03-23 18:14:00
  • WEB移动应用框架构想

    2010-09-28 16:26:00
  • 分析SQL语句性能3种方法分享

    2012-06-06 20:09:30
  • 如何在ADSI中查询用户属性?

    2010-06-17 12:53:00
  • 从浅入深带你掌握Golang数据结构map

    2023-06-21 16:42:43
  • Oracle时间日期操作方法小结第1/2页

    2010-11-29 19:40:00
  • PHP 截取字符串 分别适合GB2312和UTF8编码情况

    2023-09-30 18:02:30
  • Google中秋logo被恶搞

    2007-09-25 15:55:00
  • asp.net中文件下载功能的实例代码

    2023-07-20 15:46:51
  • JDBC连接MySQL数据库关键的四个步骤

    2009-12-17 12:06:00
  • Pandas Matplotlib保存图形时坐标轴标签太长导致显示不全问题的解决

    2023-07-22 20:03:09
  • ASP程序实现过滤脏话代码

    2008-03-19 12:07:00
  • 索引在Oracle中的应用深入分析

    2023-07-04 19:50:49
  • 必备的JS调试技巧汇总

    2023-08-07 06:26:50
  • asp之家 网络编程 m.aspxhome.com