通過如何判斷數據庫存在與否

 今天工作中的項目遇到了判斷數據庫存在與否的問題。一開始使用的是通過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. ?>  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章