PHP同时连接多个MySQL数据库样本代码。
复制代码代码如下所示:
< PHP
美元mysql_connect conn1 =(127.0.0.1
mysql_select_db(db1
$ conn2 = mysql_connect(127.0.0.1
mysql_select_db(DB2
从IP中选择*;
查询= mysql_query美元($ SQL);
如果($行= mysql_fetch_array($查询))
$ $行{ 0 }。;
从Web 选择*;
查询= mysql_query美元($ SQL);
如果($行= mysql_fetch_array($查询))
$ $行{ 0 };
>
有此代码的问题,这将是错误的执行程序:PHP警告:mysql_fetch_array()预计参数1是资源,布尔在…
原因分析:
程序开始建立两个数据库链接,mysql_query()函数原型:
资源mysql_query(字符串查询{,资源link_identifier美元})
发送一个查询中指定的连接标识符关联的服务器当前的活动数据库。如果没有指定link_identifier是最后一个打开的连接使用。如果没有打开的连接,这一功能尝试调用mysql_connect(无参数)来建立连接和使用功能的查询的结果。被缓存。
在这种情况下,因为link_identifier没有规定,因此,在第一次执行SQL语句,则使用默认值在一个开放的环节,即conn2美元,但事实上第一个SQL语句应该使用conn1美元,导致误差,所以为了能连接多个MySQL数据库,你可以使用下面的方法:
方法1:指定用于mysql_query功能的连接,这是:
复制代码代码如下所示:
< PHP
美元mysql_connect conn1 =(127.0.0.1
mysql_select_db(木马
$ conn2 = mysql_connect(127.0.0.1
mysql_select_db(产品
从IP中选择*;
美元($ SQL查询= mysql_query conn1美元); / /添加连接conn1美元
如果($行= mysql_fetch_array($查询))
$ $行{ 0 }。;
从Web 选择*;
$query = mysql_query ($sql, $conn2);
如果($行= mysql_fetch_array($查询))
$ $行{ 0 };
>
方法2:使用SQL语句的数据库相关联,则可以省略的mysql_query二参数,即:
复制代码代码如下所示:
< PHP
美元mysql_connect conn1 =(127.0.0.1
mysql_select_db(db1
$ conn2 = mysql_connect(127.0.0.1
mysql_select_db(DB2
为SQL SELECT * FROM; / / db1.ip关系数据库
查询= mysql_query美元($ SQL);
如果($行= mysql_fetch_array($查询))
$ $行{ 0 }。;
从web中选择*;
查询= mysql_query美元($ SQL);
如果($行= mysql_fetch_array($查询))
$ $行{ 0 };
>