如何查看数据库是否存在PDO



因此,由于Mysqli准备的语句复杂性和不规则性,我最近决定切换到PDO。这是我测试数据库的mysqli功能:

public static function is_database($database) {
    self::connect();
    if( mysqli_select_db(self::$conn,$database) ) {
        self::$dbname = $database;
        return true;
    } else {
        return false;
    }
    self::disconnect();
}

我到目前为止唯一读过的关于PDO和任何内容的数据库是:

$pdo->exec("use database");

这不是我想要的,除非将其与尝试捕获一起使用。这种东西

public static function is_database($database){
   self::connect();
   try {
      self::$conn->exec('use '.$database);
      return true;
   } catch(PDOException $e){
     print($e->getMessage();
     return false;
     die();
   }
}

需要对1小时的新PDO用户提供一些帮助。感谢您的建议。

按照查询的查询如何检查MySQL数据库是否存在

$stmt = $pdo->query("SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'DBName'");
return (bool) $stmt->fetchColumn();

我们检查将返回1或0的计数并将其键入铸件为布尔(true/false)。

当然,这需要通过PDO建立现有连接。这对您来说是不起作用的,在第一个连接之前检查数据库。

一个非常简单的答案在>" try-catch"中执行您的代码。而且,如果您想提出错误,请回荡您的错误,如果您不这样做,那就空荡荡的捕获块;尝试捕获量如何有用

  1. 如果不存在DB,它将创建
  2. 您选择的错误或没有错误

下面给出了示例。

        try {
            $conn->exec($sql);
        } catch (PDOException $th) {
            echo "<br> sql error";
        }

最新更新