PDO-连接到多个数据库


PDO - Connect to multiply databases

所以我知道如何使用PDO连接到单个数据库-请参阅以下代码:

global $database, $social;
try {
    $dsn = "mysql:host=" . $database['host'] . ";dbname=" . $database['db'];
    $dbh = new PDO($dsn, $database['user'], $database['pass'], array(PDO::ATTR_PERSISTENT => false));       
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // <== add this line
    //echo 'Connected to Database<br/>';
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }

第一个数据库的数据库设置存储在$database中-第二个数据库信息存储在$social中-我的问题是,如何使用上述代码连接两者?

您只需要创建另一个连接。

<?php 
global $database, $database2;
try {
    $dsn = "mysql:host=" . $database['host'] . ";dbname=" . $database['db'];
    $dbh = new PDO($dsn, $database['user'], $database['pass'], array(PDO::ATTR_PERSISTENT => false));       
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo $e->getMessage();
}
try {
    $dsn = "mysql:host=" . $database2['host'] . ";dbname=" . $database2['db'];
    $dbh2 = new PDO($dsn, $database2['user'], $database2['pass'], array(PDO::ATTR_PERSISTENT => false));       
    $dbh2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo $e->getMessage();
}