我有以下语句创建一个新的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
?我是否必须关闭当前连接并使用连接字符串中的数据库重新创建它,或者是否有更简单的方法在当前打开的连接上快速指定数据库,所以我不必明确指出每次我想查询它的数据库?
顺便说一下,我上面发布的内容是我的代码中有用的小部分内容。请不要说"可能会崩溃等等。我已经设置了异常处理程序来处理phpforum
或PDO::__constructor
方法失败的情况
答案 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);