2013-03-02 133 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' 
); 

从那里,你的功能应该一旦建立起来就应该工作。

相关问题