1

同じサーバー上に 2 つの同一のテーブルを持つ 2 つのデータベースがあります。

私がやりたいことは、両方のテーブルからすべてのレコードを選択し、それらを 1 つの配列に結合することです。私は以下のスクリプトをいじっています。何らかの理由で、db2.tbl のレコードが 2 回返され、db1.tbl レコードがまったく返されません。単一のデータベースからデータを選択しようとすると、両方で正常に機能します。誰も問題を見ませんか?

<?PHP
 require_once("config.php");

$conn = @mysql_connect($dbhost, $dbuser, $dbpass)or die ('Error connecting to mysql server'.mysql_error());
$q = mysql_query("SELECT * FROM db1.tbl JOIN db2.tbl");
var_dump(mysql_num_rows($q));
while($arr = mysql_fetch_assoc($q)){
    var_dump($arr);
}

?>
4

2 に答える 2

1

これは、あなたの望むことですか ?database1 のすべてのレコードに続いて、database2 のすべてのレコード:

$q = mysql_query("SELECT * FROM db1.tbl UNION SELECT * FROM db2.tbl"); 

接続しているユーザーは両方のデータベースにアクセスできると思います。

于 2012-07-30T12:28:15.433 に答える
0

クエリが機能するはずです。ただし、データベース名のテーブル名にtilt(`)を追加してください。最初にmysqlでクエリを実行し、phpで実行するよりも問題ないかどうかを確認します。

于 2012-07-30T12:37:08.960 に答える