電子書籍の厳選無料作品が豊富!

phpmyadmin上の異なるデータベース間のテーブルでリレーションをかけたいのですが、うまくいきません。
new_linkフラグをtrueにすることで異なるデータベースを開くところまではできました。
アドバイスいただけないでしょうか。

※DB1の中にtable1が、DB2の中にtable2がある


//失敗する
$con1 = mysql_connect("localhost",username,pass);
mysql_select_db('DB1',$con1);

$con2 = mysql_connect("localhost",username,pass,true);
mysql_select_db('DB2',$con2);

$sql = "select * from table1,table2 where table1.id = table2.id";
$result = mysql_query($sql) or die(mysql_error());

メッセージ⇒Table 'DB2.table1' doesn't exist



//これは成功する
$con1 = mysql_connect("localhost",username,pass);
mysql_select_db('DB1',$con1);

$con2 = mysql_connect("localhost",username,pass,true);
mysql_select_db('DB2',$con2);

$sql1 = "select * from table1";
$result1 = mysql_query($sql,$con1) or die(mysql_error());

$sql2 = "select * from table2";
$result2 = mysql_query($sql2,$con2) or die(mysql_error());

A 回答 (1件)

DB名入れないとダメですよ。



select * from DB1.table1,DB2.table2 where DB1.table1.id = DB2.table2.id

これだけでうまくいくかはわかりませんが。
    • good
    • 0
この回答へのお礼

できました!
ありがとうございます!

お礼日時:2013/02/20 15:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!