【问题标题】:PDO MySQL check if database existsPDO MySQL 检查数据库是否存在
【发布时间】:2016-11-08 13:19:08
【问题描述】:

询问SCHEMA 是否存在于 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?我将如何返回结果?我必须获取数据,还是只能进行计数?

【问题讨论】:

  • 这与 PHP 会话有什么关系?
  • 您可以使用 INFORMATION_SCHEMA 作为 dbname 建立连接。
  • @MartinBean 我实际上不知道它为什么有这个标题。可能是我之前写的一个问题的stackoverflow cookie。
  • @MichaelBerkowski 请将其写为答案,以便我将其标记为正确。
  • @PhilipJensBramsted 继续并接受在下面发布它的用户。我不需要积分。

标签: php mysql database pdo schema


【解决方案1】:

只需直接创建与信息架构的连接并运行查询即可。

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

从那里开始,您的函数应该可以在构建完成后工作。

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 2017-11-07
    • 2010-10-24
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 2015-10-22
    相关资源
    最近更新 更多