可能重复:
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上给出布尔值
答案 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 ...
在同一服务器上的不同数据库中工作。