2013-03-02 124 views
0

詢問MySQL數據庫中是否存在SCHEMA的正確方法是什麼?PDO MySQL檢查數據庫是否存在

我編程在PDO,基本上我的腳本應該是這樣的:

if (databaseExists($db)) { 
    // Do something 
} 

而對於功能:

function databaseExists($db) { 
    SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = $db; 
    if so - return true; 
    else - return false; 
} 

我的問題其實是,如何實現SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = $db聲明。我必須使用沒有定義數據庫的$conn嗎?我將如何返回結果?我是否必須獲取數據,還是隻能計數?

+1

這與PHP會話有什麼關係? – 2013-03-02 18:03:19

+2

您可以使用INFORMATION_SCHEMA作爲dbname建立連接。 – 2013-03-02 18:03:26

+0

@MartinBean我實際上不知道爲什麼它有標題..可能是我寫的早期問題的一個計算器cookie。 – Dimser 2013-03-02 18:05:45

回答

2

只需直接創建與信息架構的連接並運行查詢。

$pdo = new PDO(
       'mysql:host=hostname;dbname=INFORMATION_SCHEMA', 
       'username', 
       'password' 
); 

從那裏,你的功能應該一旦建立起來就應該工作。