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)
这与关于同一主题的旧问题非常相似,所以看看这是否能满足您的需求。
它不处理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)