www.adminn.cn
站长正能量分享网!

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

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下。

实例代码如下:

  1. <?php  
  2. $conn1 = mysql_connect("127.0.0.1""root","root","db1");  
  3. mysql_select_db("db1"$conn1);  
  4. $conn2 = mysql_connect("127.0.0.1""root","root","db2");  
  5. mysql_select_db("db2"$conn2);  
  6.  
  7. $sql = "select * from ip";  
  8. $query = mysql_query($sql);  
  9. if($row = mysql_fetch_array($query))  
  10. echo $row[0]."\n";  
  11.  
  12. $sql = "select * from web ";  
  13. $query = mysql_query($sql);  
  14. if($row = mysql_fetch_array($query))  
  15. echo $row[0];  
  16. ?>  

这段代码存在问题,在程序执行时会报错: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函数中指定所用连接,即: 

  1. <?php  
  2. $conn1 = mysql_connect("127.0.0.1""root","root","db1");  
  3. mysql_select_db("Muma"$conn1);  
  4. $conn2 = mysql_connect("127.0.0.1""root","root","db2");  
  5. mysql_select_db("product"$conn2);  
  6.  
  7. $sql = "select * from ip";  
  8. $query = mysql_query($sql,$conn1); //添加连接$conn1  
  9. if($row = mysql_fetch_array($query))  
  10. echo $row[0]."\n";  
  11.  
  12. $sql = "select * from web ";  
  13. $query = mysql_query($sql$conn2);  
  14. if($row = mysql_fetch_array($query))  
  15. echo $row[0];  
  16. ?>  

方法2:在sql语句中关联所用数据库,此时可以省略mysql_query的第二个参数,即: 

  1. <?php  
  2. $conn1 = mysql_connect("127.0.0.1""root","root","db1");  
  3. mysql_select_db("db1"$conn1);  
  4. $conn2 = mysql_connect("127.0.0.1""root","root","db2");  
  5. mysql_select_db("db2"$conn2);  
  6.  
  7. $sql = "select * from db1.ip"//关联数据库  
  8. $query = mysql_query($sql);  
  9. if($row = mysql_fetch_array($query))  
  10. echo $row[0]."\n";  
  11.  
  12. $sql = "select * from db2.web ";  
  13. $query = mysql_query($sql);  
  14. if($row = mysql_fetch_array($query))  
  15. echo $row[0];  
  16. ?>  

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP同时连接多个mysql数据库示例代码》
文章链接:https://www.adminn.cn/news/8587.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏