当我连接到数据库时,我尝试处理数据库已关闭的错误。但我似乎无法抑制这个警告:
Warning: PDO::__construct() [pdo.construct]: php_network_getaddresses: getaddrinfo failed: Name or service not known in * on line 29
{"status":false}
应该是什么:
{"status":false}
错误处理的代码:
try
{
$pdo = new PDO("mysql:host={$host};dbname={$db}", $us, $pw,array(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION));
}
catch(PDOException $ex)
{
echo '{"status":false}';
}
PDO错误模式设置为PDO :: ERRMODE_EXCEPTION,因此它不应该发出警告。它应该抛出一个我能抓住的致命错误..
问题似乎是,如果它无法解决dns,它会抛出此警告
在@处解决方案以取消警告
@$pdo = new PDO("mysql:host={$host};dbname={$db}", $us, $pw,array(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION));