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 相关文章推荐
mysql+php分页类(已测)
Mar 31 PHP
PHP setcookie() cannot modify header information 的解决方法
Jan 09 PHP
一周让你学会PHP 不错的学习资料
Feb 06 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
PHP静态成员变量
Feb 14 PHP
Laravel中的Blade模板引擎示例详解
Oct 10 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
Laravel 数据库加密及数据库表前缀配置方法
Oct 10 PHP
基于PHP的登录和注册的功能的实现
Aug 06 PHP
PHP数组访问常用方法解析
Sep 05 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
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
PHP模块 Memcached功能多于Memcache
2011/06/14 PHP
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
jQuery function的正确书写方法
2013/08/02 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
javascript如何动态加载表格与动态添加表格行
2013/11/27 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
javascript实现文字无缝滚动
2016/12/27 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[44:40]Serenity vs Pain 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python如何生成树形图案
2018/01/03 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
python“静态”变量、实例变量与本地变量的声明示例
2020/11/13 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
国际商务专业学生个人的自我评价
2013/09/28 职场文书
怎样写好自我鉴定
2013/12/04 职场文书
小摄影师教学反思
2014/04/27 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
python编程实现清理微信重复缓存文件
2021/11/01 Python