Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果无法建立数据库连接,如何关闭网站_Php_Mysqli_Try Catch_Die - Fatal编程技术网

Php 如果无法建立数据库连接,如何关闭网站

Php 如果无法建立数据库连接,如何关闭网站,php,mysqli,try-catch,die,Php,Mysqli,Try Catch,Die,我有一个数据库连接的网站。连接对于网站来说非常重要,所以如果网站无法建立数据库连接,我需要“死”网站。“要么死”不是个好主意,所以我尝试了以下方法: $host='localhost'; $un='root'; $pw='mypass'; $dbname='home'; try { $db = new mysqli($host, $un, $pw, $dbname); if ($db->connect_errno) { throw new Exceptio

我有一个数据库连接的网站。连接对于网站来说非常重要,所以如果网站无法建立数据库连接,我需要“死”网站。“要么死”不是个好主意,所以我尝试了以下方法:

$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
检查连接是否正常的最佳方法是什么?如果不正常,请在网站上显示错误消息

谢谢你的帮助

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

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

记录错误并使用自定义消息die

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

只需记录错误消息,然后回显您想要显示的任何内容。不,在定义object@Jordy它可以连接127.0.0.1吗?是的,它可以连接,但我将主机更改为'asdfasdf',例如,以检查出现错误时会发生什么。你的意思是,它不由异常处理?你能告诉我错误是什么吗。也许,我们应该为它编写第二个异常处理程序?请参阅我编辑的帖子,总有一条错误消息,如mysqli::mysqli()[mysqli.mysqli]:php\u network\u getaddresses:getaddrinfo failed: