我正在尝试捕获数据库连接上的错误,但是当我仅输入错误的主机名时出现错误,这是我的代码:
try
{
$mysqlconnection = new PDO('mysql:host=localshost;dbname=test', 'root', '');
}
catch (Exception $ex)
{
die('Erreur : ' . $ex->getMessage());
}
这是我得到的错误:
为什么只有在我设置了错误的主机名时才会出现此错误?
我正在尝试捕获数据库连接上的错误,但是当我仅输入错误的主机名时出现错误,这是我的代码:
try
{
$mysqlconnection = new PDO('mysql:host=localshost;dbname=test', 'root', '');
}
catch (Exception $ex)
{
die('Erreur : ' . $ex->getMessage());
}
这是我得到的错误:
为什么只有在我设置了错误的主机名时才会出现此错误?
您可能希望打开异常并PDOException
用于捕获的异常。
try {
$mysqlconnection = new PDO(
'mysql:host=localshost;dbname=test',
'root', 'yourPasswordHere'
);
$mysqlconnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $ex) {
die('Erreur : ' . $ex->getMessage());
// or
// die('Erreur:' . PHP_EOL . $ex->getTraceAsString());
}
对我来说它输出
错误:SQLSTATE [HY000] [2002] php_network_getaddresses:getaddrinfo 失败:提供节点名或服务名,或未知