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中对xml读取的相关函数的介绍一
Jun 05 PHP
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
PHP进程同步代码实例
Feb 12 PHP
PHP实现适用于文件内容操作的分页类
Jun 15 PHP
Docker配置PHP开发环境教程
Dec 21 PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 PHP
php解析非标准json、非规范json的方式实例
May 10 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提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
2012/03/27 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
用JavaScript编写COM组件的步骤
2009/03/17 Javascript
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
document.createElement()用法及注意事项(ff下不兼容)
2013/03/13 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
js实现常用排序算法
2016/08/09 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
pandas表连接 索引上的合并方法
2018/06/08 Python
python找出完数的方法
2018/11/12 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
浅谈tensorflow 中的图片读取和裁剪方式
2020/06/30 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
生物科学系大学生的自我评价
2013/12/20 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
大学开学计划书
2014/04/30 职场文书
幼儿教师师德演讲稿
2014/05/06 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
公司人力资源管理制度
2015/08/05 职场文书
导游词之山东八大关
2019/12/18 职场文书
Python初识逻辑与if语句及用法大全
2021/08/07 Python