Предотвратить ошибку на mysql_connect () - доступ запрещен - PullRequest
6 голосов
/ 20 сентября 2011

У меня есть фрагмент кода:

$conn = mysql_connect($host, $usr, $pwd);

Как я могу запретить PHP печатать сообщение об ошибке, когда доступ MySQL запрещен?

Мне нужен именно этот синтаксис, но у меня ничего не работает.

Я пробовал $conn = mysql_connect($host, $usr, $pwd) or false; и $conn = mysql_connect($host, $usr, $pwd) || false; и следующее:

try {
    $conn = mysql_connect($host, $usr, $pwd);

    if(!$conn) {
        throw new Exception('Failed');
    }
} catch(Exception $e) {
    // ...
}

PHP всегда печатает сообщение об ошибке, что соединение не удалось. Но я просто хочу вернуть false, если это не удалось.

Ответы [ 4 ]

10 голосов
/ 20 сентября 2011

Ошибка печати не должна быть активирована на рабочем сервере.Подумайте об изменении конфигурации php.ini, чтобы она отображала ошибку, а не отображала ее.

Использование @ для отключения сообщения об ошибке не является хорошим решением.

6 голосов
/ 20 сентября 2011

Я не знаю, почему вы хотите, но вы можете добавить @ для устранения ошибок php?

см .: http://php.net/manual/en/language.operators.errorcontrol.php

3 голосов
/ 20 сентября 2011

На самом деле вы не должны использовать mysql_connect в PHP 5, так как теперь он устарел в пользу mysqli и PDO.

Но вы, вероятно, можете отключить предупреждение, генерируемое mysql_connect, добавив префикс @:

@mysql_connect()

0 голосов
/ 20 сентября 2011

@ подавляет ошибки.А также установите отчет об ошибках error_reporting(0);, чтобы отключить все ошибки.Также проверьте mysqli

Документы

...