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 相关文章推荐
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
一个显示效果非常不错的PHP错误、异常处理类
Mar 21 PHP
php实现的常见排序算法汇总
Sep 08 PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
php基于openssl的rsa加密解密示例
Jul 11 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHP 中 DOMDocument保存xml时中文出现乱码问题的解决方案
Sep 19 PHP
PHP实现 APP端微信支付功能
Jun 22 PHP
php7 list()、session及其他模块的修改实例分析
May 25 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
附件名前加网站名
2008/03/23 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
JavaScript 的方法重载效果
2009/08/07 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
2012/02/03 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
2015/07/18 Javascript
Vue之Watcher源码解析(1)
2017/07/19 Javascript
详解vue axios中文文档
2017/09/12 Javascript
vue二级路由设置方法
2018/02/09 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
Vue基础配置讲解
2019/11/29 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
Python判断操作系统类型代码分享
2014/11/22 Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
2015/03/27 Python
使用Python编写类UNIX系统的命令行工具的教程
2015/04/15 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
移动通信专业自荐信范文
2013/11/12 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python
vue实力踩坑之push当前页无效
2022/04/10 Vue.js