Ph**P同时连接多个mysql**库示例代码

时间:2016.04.18 发布人:ghdf9ws64lx

Ph**P同时连接多个mysql**库示例代码

已解决问题

谷歌ghdf9ws64lx用户在2016.04.18提交了关于“韩信Ph**P同时连接多个mysql**库示例代码”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-05-08T05:47:12。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你就是当代的活雷锋,太感谢了 !

希望以下的回答,能够帮助你。

第1个回答

用户名:8sdsjdj  

实例:
复制代码代码如下:
<?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*fromi钟响研思脸假板题p";
$query=mysql_query($sql);
if($row=mysql_fetch_array($query))
echo$row[年剧减坚应何武双散0]."\n";

$sql="select*fromweb";
$query=mysql_query($sql);
if($row=mysql_fetch_array($query))
ec见ho$row[0];
?>

这段代码存在问题,在程序执行时会报错:Ph**PWarning:mysql_fetch_array(师)expectsparameter1toberesource,booleangivenin.

原因分析:

程序开始建立两个**库链接,函数mysql_query()原型:

resourcemysql_query(string$query[额七映搞远何,resource$link_identifier])

向与指定的连清赶河接标识符关联的服务器中的当前活动**库发送一条查询。如果没有指定link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用mysql_connect()函数来建立一个连接并使用之。查询结果会被缓存。

在本例中由于没有指定l热会革其啊门材饭块础ink_identifi逐超er,所以,在执行第一破局束请料宁跟谈晶毫更条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","roo重t","root","db2");
mysql_select_db("pro**ct",$conn2);

$sql="select*fromip";
$query=mysql_query($sql,$conn1);//添加连接$conn1
if($row=mysql轴运药双核测初参_fetch_array($query))
echo$row[0响育请第眼]."\n";

$sql=走频文回杂严"select*fromweb";
$query=mysql_query($sql,$conn2);
if($row=mysql_fetch_array($query))
echo$row[在尽难九段让宗太危输0];
?>

方法2:在sql语句中关联所用**库,此时可以省道呢突学载主升放纸清定略mysql_query的第二个参数,即:
复制代码代码如入影路细使石席圆下:
<?php
$c圆激曾onn1=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*fromdb1.ip";//关联**库
$query=mysql_query($sql);
if($row=mysql_fetch_array($query))
echo$row[0]."\n";

$sql="select*fromdb2.web";
$query=mysql_query($sql);
if($row=mysql_fetch_array($query))
echo$row[0];
?>