PHP同时连接多个mysql数据库示例代码
2015-01-24信息快讯网
这篇文章主要介绍了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]; ?>
PHP中数据库单例模式的实现代码分享
PHP中使用sleep造成mysql读取失败的案例和解决方法
Linux下PHP连接Oracle数据库
Win7 64位系统下PHP连接Oracle数据库
PHP中使用localhost连接Mysql不成功的解决方法
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Php连接及读取和写入mysql数据库的常用代码
PHP连接sql server 2005环境配置及问题解决
php中单个数据库字段多列显示(单字段分页、横向输出)
ThinkPHP实现将SESSION存入MYSQL的方法
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
PHP的password_hash()使用实例
zf框架的数据库追踪器使用示例
php上传图片存入数据库示例分享
PHP连接MySQL的2种方法小结以及防止乱码
Yii操作数据库的3种方法
Drupal7连接多个数据库及常见问题解决
Drupal读取Excel并导入数据库实例
php操作mysql数据库的基本类代码
php实现mysql数据库操作类分享
thinkphp3查询mssql数据库乱码解决方法分享
基于php和mysql的简单的dao类实现crud操作功能
测试php连接mysql是否成功的代码分享
PHP字符串的连接的简单实例
PHP连接SQLServer2005方法及代码