PHP同时连接多个mysql数据库示例代码
来源: 阅读:761 次 日期: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];

?>

这段代码存在问题,在程序执行时会报错: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];

?>

更多信息请查看IT技术专栏

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map