[英]How to run a query with a join accross two databases with PDO
我有两个表示两个数据库pdo1和pdo2的PDO对象,它们按照以下说明进行声明:
try {
$pdo1 = new PDO('mysql:host=localhost;dbname=database1', 'user', 'password');
$pdo1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo1->exec('SET NAMES "utf8"');
}
^而且,对于第二个数据库,$ pdo2也执行相同的操作。
到目前为止,我访问数据库的方式如下:
try {
$sql = 'SELECT * from table1';
$result = $pdo1->query($sql);
}
现在,我想运行一个查询,其中两个表跨两个数据库进行联接。 如何使用两个pdo对象执行此操作? 这是我所拥有的,但是我在如何将星号放到$ result部分上陷于困境:
try {
$sql = 'SELECT database1.table1.name FROM database1.table1 LEFT JOIN database2.table2
ON database1.table1.userid = database2.table2.userid';
$result = $pdo***->query($sql);
}
以前,它会引用$ pdo1或$ pdo2,但是如何组合该部分以从组合的pdo对象中提取结果?
使用一个连接,然后执行类似的查询
SELECT ... FROM db1.tbl1 JOIN db2.tbl2 ...
(您将需要访问两个数据库的权限。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.