Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php扩展pdo在mysql中使用联接(来自不同数据库的两个表)进行查询?_Php_Mysql_Pdo - Fatal编程技术网

如何使用php扩展pdo在mysql中使用联接(来自不同数据库的两个表)进行查询?

如何使用php扩展pdo在mysql中使用联接(来自不同数据库的两个表)进行查询?,php,mysql,pdo,Php,Mysql,Pdo,问题是我在两个不同的数据库中有两个表,我们称它们为A和B。 在数据库A中有表1,在数据库B中有表2。表1的主键是表2中的外键。因此,我需要使用连接查询同时从两个数据库中提取数据。或者使用PDO,您不能使用同一个PDO对象连接到两个数据库 $bdd=newpdo('mysql:host=localhost;dbname=A','root','12345') 那么我能做什么呢?您应该能够做以下事情: SELECT * FROM t1 LEFT JOIN otherDB.t2 on otherDB.t

问题是我在两个不同的数据库中有两个表,我们称它们为A和B。 在数据库A中有表1,在数据库B中有表2。表1的主键是表2中的外键。因此,我需要使用连接查询同时从两个数据库中提取数据。或者使用PDO,您不能使用同一个PDO对象连接到两个数据库

$bdd=newpdo('mysql:host=localhost;dbname=A','root','12345')


那么我能做什么呢?

您应该能够做以下事情:

SELECT *
FROM t1
LEFT JOIN otherDB.t2 on otherDB.t2.t1_fk = t1.id

前提是用户具有相关权限。

将表导出/导入到其他数据库中?该数据库是否位于其他主机上?例如,不是本地主机?问题不在于查询!问题是如何使用同一个PDO对象连接到两个数据库?因为正如你所看到的,我只连接了一个数据库$bdd=newpdo('mysql:host=localhost;dbname=A','root','12345')。如果我必须使用两个对象,我该怎么做?出于兴趣,您是否尝试过以这种格式运行查询?我的理解是dbname参数更像是指南,而不是用于包含查询。我已经尝试过了,结果是用户的访问被拒绝。嗯,我在期待它。嗯,这只是我的用户名称中的一个错误。