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();
}
所以我知道如何使用 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();
}