查询中的 pdo 多个数据库连接

Dan*_* Le 3 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;
    }
Run Code Online (Sandbox Code Playgroud)

M1k*_*1ke 6

与关于同一主题的旧问题非常相似,所以看看这是否能满足您的需求。

它不处理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
");
Run Code Online (Sandbox Code Playgroud)