Devi dire a PDO che vuoi che generi eccezioni:
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
A seguito del tuo commento qui sotto, è evidente che il tuo DSN non è corretto. Dovrebbe essere:
$connection = new PDO('mysql:host=localhost;dbname=my_db','my_username','xxxxxxx');
Nota che la sintassi è dbname=
invece di dbname:
(che avevi originariamente).