Fordi MySQL udførte din forespørgsel uden fejl. Kun fordi du har skrevet den forkerte forespørgsel, må dette ikke betyde, at forespørgslen er så forkert, at MySQL ikke vil acceptere den.
Når du genererer SQL-forespørgsler programmatisk, skal du kontrollere (ved fejlretning eller endnu bedre enhedstest), at forespørgslen er blevet oprettet rigtigt til det, du vil gøre.
Hvis du ønsker at få en undtagelse hver gang der opstår en fejl, skal du aktivere det:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);