Я пытаюсь поймать ошибку в соединении с базой данных, но я получаю ошибку, когда я ввожу неправильное имя хоста, вот мой код:
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()); }
Для меня это выходы
Erreur: SQLSTATE [HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename или servname предоставлено или неизвестно