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


Posted in PHP onMarch 17, 2014

实例:

<?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 相关文章推荐
给初学PHP的5个入手程序
Nov 23 PHP
解决GD中文乱码问题
Feb 14 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
PHP开发过程中常用函数收藏
Dec 14 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
ThinkPHP文件上传实例教程
Aug 22 PHP
PHP反射机制用法实例
Aug 28 PHP
PHP实现仿Google分页效果的分页函数
Jul 29 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
php中mkdir()函数的权限问题分析
Sep 24 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
PHP的password_hash()使用实例
Mar 17 #PHP
PHP5各个版本的新功能和新特性总结
Mar 16 #PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 #PHP
19个超实用的PHP代码片段
Mar 14 #PHP
php的zip解压缩类pclzip使用示例
Mar 14 #PHP
php多功能图片处理类分享(php图片缩放类)
Mar 14 #PHP
zf框架db类的分页示例分享
Mar 14 #PHP
You might like
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
javascript下操作css的float属性的特殊写法
2007/08/22 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
如何制作一个Node命令行图像识别工具
2018/12/12 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
python实现rest请求api示例
2014/04/22 Python
python实现简单温度转换的方法
2015/03/13 Python
简单实现python收发邮件功能
2018/01/05 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
银行员工职业规划范文
2014/01/21 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
本科毕业生自荐信
2014/05/26 职场文书
村党支部书记承诺书
2014/05/29 职场文书
篮球比赛口号
2014/06/10 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
导游词开场白
2015/01/31 职场文书
南京南京观后感
2015/06/02 职场文书
python中requests库+xpath+lxml简单使用
2021/04/29 Python
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android