2013-10-09 3 views
-1

мне нужно использовать беззвучный режим PDO без каких-либо исключений и ошибок, так что я делаю это так:Как установить параметры PDO?

$this->db = new PDO($db_config['dsn'], $db_config['username'], $db_config['password'], 
    array(
     PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT, 
     PDO::ATTR_TIMEOUT => 5, 
     PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', 
    ) 
); 

Но он по-прежнему бросает исключение, что я не могу подключиться к БД.

ответ

0

Если вы не можете подключиться к базе данных, PHP не может создать объект PDO. Вы не можете иметь объект PDO, который не связан с базой данных. Вы не можете вернуть ничего, кроме действительного экземпляра объекта, при использовании оператора new. Следовательно, исключение - это единственное, что может свести на нет конструктор PDO.

Другими словами, вы не можете отключить исключение, происходящее во время строительства, этот параметр применяется только ко всем последующим ошибкам, которые может произвести PDO. Вам нужно только catch.

5

мне нужно использовать режим Silent Mode PDO

Нет, вы не знаете.

Вы задаете этот вопрос из какого-то ложного предположения. Вместо того, чтобы следовать дальше, вам нужно переосмыслить свои помещения, установить PDO в режим Exception и затем исправить что-то еще. Скорее всего - обработчик ошибок.

Смежные вопросы