2017-05-31 80 views
0

我有以下聲明,創建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 
"); 

之後成功地真實,我怎麼會取代我的預先存在的通用PDO在Database::$db具體phpforum一個數據庫連接?我是否必須關閉當前連接並使用連接字符串中的數據庫重新創建它,或者是否有更簡單的方法在當前打開的連接上快速指定數據庫,所以我不必明確指出數據庫每次我想查詢它?


順便說一句,我上面發佈的是我的代碼小的有用的片段。請不要說「可能會崩潰等等」,我已經設置了異常處理程序來處理PDO::__constructorDatabase::$db->exec方法失敗的情況。

+0

您可以在任何查詢中指定數據庫以及表格。 – rtfm

回答

-1

商店使用這種$ PDO變量

$pdo->query('SELECT * FROM table'); 

更改通過改寫$ PDO你PDO連接在一個變量

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

運行查詢您的PDO對象,或創建一個新的變量。

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

不需要覆蓋任何東西。重複問題的答案類似於修復它的問題:'Database :: $ db-> exec(「use phpforum」);'。 – carefulnow1

相關問題