2012-10-18 39 views
3

我試圖連接到數據庫,如果有什麼錯我拋出一個異常:獲得一個「友好」的錯誤消息的異常

class Ex_cnt extends Exception{} 
class Ex_slct extends Exception{} 
$server = "localhost"; 
$usr = "root"; 
$pss = "*******"; 
$db = "learn"; 
try{ 
     $cnt = mysqli_connect($server,$usr,$pss); 
     if(!$cnt){ 
      throw new Ex_cnt("wrong in database details"); 
     } 
     $dbslct = mysql_select_db($db); 
     if(!$dbslct){ 
      throw new Ex_slct("wrong database name"); 
     } 
} 
catch(Ex_cnt $error_cnt){ 
     echo $error_cnt->getMessage(); 
} 
catch(Ex_slct $error_slct){ 
     echo $error_slct->getMessage(); 
} 

的問題是,這個代碼顯示了以下錯誤

警告:在D:\ xampp \ htdocs \ learn \中爲mysqli_connect()[function.mysqli-connect]:(28000/1045):拒絕用戶'root'@'localhost'(使用password:YES)第10行的index.php 無法連接

我希望它只是顯示

無法連接

回答

3

你應該在生產環境中關閉display_errors

ini_set('display_errors', 0); 
error_reporting(E_ALL); // While error reporting should remain at full force 
-1

嘗試使用:

$cnt = @mysqli_connect($server,$usr,$pss); 
+3

爲了上帝的緣故!不要壓制錯誤!這和勸告一樣糟糕!此外,抑制錯誤不能修復連接 –

+0

失敗,並顯示我的錯誤 –

+0

@EliasVanOotegem,他的建議是什麼問題? –

相關問題