微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

实例:
<div class="codetitle"><a style="CURSOR: pointer" data="61166" class="copybut" id="copybut61166" onclick="doCopy('code61166')"> 代码如下:

<div class="codebody" id="code61166">
<?PHP
$conn1 = MysqL_connect("127.0.0.1","root","db1");
MysqL_select_db("db1",$conn1);
$conn2 = MysqL_connect("127.0.0.1","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函数中指定所用连接,即:
<div class="codetitle"><a style="CURSOR: pointer" data="52880" class="copybut" id="copybut52880" onclick="doCopy('code52880')"> 代码如下:
<div class="codebody" id="code52880">
<?PHP
$conn1 = MysqL_connect("127.0.0.1","db1");
MysqL_select_db("Muma","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的第二个参数,即:
<div class="codetitle"><a style="CURSOR: pointer" data="30853" class="copybut" id="copybut30853" onclick="doCopy('code30853')"> 代码如下:
<div class="codebody" id="code30853">
<?PHP
$conn1 = MysqL_connect("127.0.0.1",$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];
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

mysql数据库

相关推荐