通过如何判断数据库存在与否

 今天工作中的项目遇到了判断数据库存在与否的问题。一开始使用的是通过SQL语句:SHOW DATABASES;但是使用这个语句是在权限足够的情况下,那么当权限不够的话是无法进行查询的,所以我们不得不考虑其他的办法了。

解决办法是通过mysql_select_db这个函数,通过选择指定的库判断呢该函数的返回值。这个函数返回值为bool类型的,正好用于判断。

那么关于PDO的解决办法是在new一个PDO对象的时候通过catch捕获异常,当数据库不存在时message()函数会返回Unknow database,这样通过它就知道数据库存在不存在了。

 

  
  
  
  
  1. <?php 
  2. $dsn = 'mysql:host=127.0.0.1'
  3. $user = 'root'
  4. $password = '2312'
  5. try { 
  6.     $dbh = new PDO($dsn$user$password); 
  7. } catch (PDOException $e) { 
  8.     if(strpos($e->getMessage(), 'Unknown database') !== false) { 
  9.         $dbexist = 0; 
  10.         return
  11.     } 
  12.  
  13. ?>  

 

你可能感兴趣的:(database)