PDO - 连接到多个数据库

时间:2015-04-05 17:41:38

标签: php mysql sql pdo

所以我知道如何使用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中 - 我的问题是,如何使用上面的代码连接到这两个?

1 个答案:

答案 0 :(得分:0)

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

<?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();
}