Handling errors when using PDO to connect to a database instead of MySQLi
From a first pass over - all you are doing are if else without any throw or inspection as to what possible errors that the PDO might be tossing out.

Thats bad because on production servers - I would assume that you won't be turning on error/warning reporting but will be logging them.

Also as @Alex L mentioned - you are missing a IF statement that checks if $pdo == null then throw exception. However its better with a try/catch

try { 
    $pdo = new PDO($dns, $username, $password, $options); 
} catch (PDOException $e) { 
    throw new pdoDbException($e); 
}