【PHP】PDOを使った異なるデータベースのテーブル結合方法
PDOクラスを利用した同一サーバー内にある異なるデータベースのテーブル結合の方法が分からず、、、お知恵を授けていただけますと嬉しいです。
開発言語はPHP、データベースはMYSQLです。
やりたきことは以下2つのテーブルのidをキーとして内部結合させ、member_nameとgroup_nameカラムを抽出したいです。
データベース名 / テーブル名
DB1 / table1
DB2 / table2
ここ↓↓の記述方法が間違っているとは思うのですが、正しい記述が分かりません。
$stmt=$dbh1-> prepare($sql);
プログラミング初心者のため、不足している情報などありましたら申し訳ございません。
よろしくお願いいたします。
$dsn1 = 'mysql:dbname=DB1;host=localhost;charset=utf8';
$user1 = 'root';
$password1 = '******';
$dsn2 = 'mysql:dbname=DB2;host=localhost;charset=utf8';
$user2 = 'root';
$password2 = '******';
try{
$dbh1 = new PDO($dsn1, $user1, $password1);
$dbh1 -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$dbh1 -> setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$dbh2 = new PDO($dsn2, $user2, $password2);
$dbh2 -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$dbh2 -> setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$sql=
"SELECT tb1.member_name,tb2.group_name
FROM DB1.table1 tb1
INNER JOIN DB2.table2 tb2 ON tb1.id = tb2.id";
$stmt=$dbh1-> prepare($sql);
$stmt-> execute();
}catch(PDOException $Exception){
print "エラー:".$Exception->getMessage();
}