2013-07-20 114 views
0

我有一个网站与数据库连接。这个连接对于网站来说非常重要,所以如果它不能建立数据库连接,我需要'死'这个网站。在“或死”是不是一个好主意,所以我想这:如何建立数据库连接无法建立网站

$host='localhost'; 
$un='root'; 
$pw='mypass'; 
$dbname='home'; 

try { 
    $db = new mysqli($host, $un, $pw, $dbname); 
    if ($db->connect_errno) { 
     throw new Exception('Fail: '.$db->connect_errno); 
    } 
} 
    catch(Exception $e) 
{ 
    die($e->getMessage()); 
} 

但随后,用户可以看到错误消息:

mysqli::mysqli() [mysqli.mysqli]: php_network_getaddresses: getaddrinfo failed: no such host is known 

Fail: 2002 

什么是检查的最佳途径连接是否正常,如果没有,请使用错误消息来终止网站?

感谢您的帮助!

+0

只需登录任何你想显示错误消息和'echo'。 – jeroen

+0

不,定义对象时发生错误 – Jordy

+0

@Jordy它可以连接127.0.0.1吗? – user4035

回答

1
catch(Exception $e) 
{ 
    die($e->getMessage()); 
} 

将打印一条消息,并终止脚本

+0

不,定义对象时发生错误 – Jordy

+0

您的意思是说,它不是由异常处理的?你能告诉,错误是什么。也许,我们应该为它编写2-nd异常处理程序? – user4035

+0

看到我编辑的帖子;) – Jordy

0

记录错误和die使用定制信息

error_log($e->getMessage()); 
die('custom message'); 
+0

看到我编辑的帖子,总是有一个错误消息像mysqli :: mysqli()[mysqli.mysqli]:php_network_getaddresses:getaddrinfo失败: – Jordy