0

重複の可能性:
mysql_fetch_array() は、パラメーター 1 がリソースであると想定しており、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 で指定されます

4

2 に答える 2

2

同じ認証情報で同じ DB サーバーへの 2 つの接続を維持する必要はありません。あなたは簡単に使うことができます

SELECT db1.table.member_register, ...

SELECT db2.othertable.somefield, ...

同じ単一の接続を使用します。異なる資格情報を使用して接続する必要がある場合にのみ、2 つの接続が実際に必要になります。

あなたの場合、「ブール値の受信」を取得しているため、クエリが失敗し、単に成功したと想定しました(良い考えではありません)。試す:

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

クエリが失敗した理由を確認します。

于 2012-12-14T16:02:13.830 に答える
1

まったく同じ接続の詳細を に渡すとmysql_connect、同じ接続が返されます。既存の接続を再利用しています。したがって、接続が 1 つしかなく、間違ったデータベースで操作しているため、クエリは失敗します。

クエリで使用... FROM database.table ...して、同じサーバー上の異なるデータベースで作業します。

于 2012-12-14T16:04:00.003 に答える