Problém je, že se pokoušíte připojit k databázi PŘED nastavíte atribut silent. Takže během pokusu o připojení může PDO stále křičet tak hlasitě, jak chce. Jako součást samotného pokusu o připojení musíte zadat silent:
$dbh = new PDO($[..snip..], array(PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT));
^^^^^^^^^^^