无法连接并在一个PHP中选择2个数据库

时间:2012-12-14 15:59:00

标签: php

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

<?php 
$con=mysql_connect('localhost','root','');
mysql_selectDb('cms',$con);
$con2=mysql_connect('localhost','root','');
mysql_selectDb('cms2',$con2);
$memberId="Member0001";
$select2=mysql_query("select * from member_register where memberID='$memberId'",$con);
$row2=mysql_fetch_array($select2);
?>

我得到了上面的代码,从1台服务器中选择2个数据库,确保代码是正确的,但它出现了

  

警告:mysql_fetch_array()期望参数1为资源,在xxx行xxx上给出布尔值

2 个答案:

答案 0 :(得分:2)

无需使用相同的凭据维护到同一数据库服务器的两个连接。你可以小心使用

SELECT db1.table.member_register, ...

SELECT db2.othertable.somefield, ...

使用相同的单一连接。如果必须使用不同的凭据进行连接,则只需要两个连接。

在您的情况下,由于您收到了“布尔收到”,您的查询失败了,您只是认为它成功了(不是一个好主意)。尝试:

$select2=mysql_query("...",$con) or die(mysql_error());
                                ^^^^^^^^^^^^^^^^^^^^^^

找出查询失败的原因。

答案 1 :(得分:1)

如果您将完全相同的连接详细信息传递给mysql_connect,您将获得相同的连接。它正在重用现有的连接。因此,您只有一个连接,并且您的查询失败,因为您在错误的数据库上运行。

在查询中使用... FROM database.table ...在同一服务器上的不同数据库中工作。