查询中有多个数据库连接

时间:2015-02-03 15:39:57

标签: php mysql database pdo

我有2个数据库,我需要在查询中从两个数据库进行连接。但是,当你准备声明时,这怎么可能呢?

我有2个数据库连接文件。但是,例如我如何从数据库(pdo)中选择一个表,然后从另一个数据库中的其他表(pdotwo)加入?

private $pdo;
    private $pdotwo;

    public function __construct(DB $pdo, DBTwo $pdotwo)
    {
        $this->pdo = $pdo->pdo;
        $this->pdotwo = $pdotwo->pdotwo;
    }

1 个答案:

答案 0 :(得分:3)

这是very similar to an older question on the same topic,请查看是否符合您的需求。

它没有处理Class结构,而是处理连接的实际情况。

重点是,如果您的数据库位于同一主机上,您不需要准备两个连接,您只需准备一个连接,然后在查询中指定第二个数据库的名称:

$db = new PDO('mysql:host=localhost;dbname=db1;charset=utf8', 'username', 'password');

$result = $db->query("
    SELECT *
    FROM   table_on_db1 a, `db2`.`table_on_db2` b
    WHERE  a.id = b.fk_id
");
相关问题