建立通用服务器连接后连接到特定数据库?

时间:2017-05-31 22:33:53

标签: php mysql pdo

我有以下语句创建一个新的PDO实例,连接到本地MySQL服务器:

Database::$db = new PDO('mysql:host=localhost', "root", DBPW, array(PDO::ATTR_PERSISTENT => true));

之后,我在新建立的连接上运行一条SQL语句,确保存在预期的数据库和表(片段):

Database::$db->exec("
    CREATE DATABASE IF NOT EXISTS phpforum; -- Create the database if it doesn't exist
");

在那之后成功了,我如何用{1}}中的预先存在的通用PDO连接替换数据库特定的Database::$db?我是否必须关闭当前连接并使用连接字符串中的数据库重新创建它,或者是否有更简单的方法在当前打开的连接上快速指定数据库,所以我不必明确指出每次我想查询它的数据库?

顺便说一下,我上面发布的内容是我的代码中有用的小部分内容。请不要说"可能会崩溃等等。我已经设置了异常处理程序来处理phpforumPDO::__constructor方法失败的情况

1 个答案:

答案 0 :(得分:-1)

将PDO对象存储在变量

$pdo = new PDO($dsn, $user, $pass, $opt);

使用此$ pdo变量

运行查询
$pdo->query('SELECT * FROM table');

通过覆盖$ pdo或创建新变量来更改PDO连接。

$pdo2 = new PDO($dsn, $user, $pass, $opt);