Porque o MySQL executou sua consulta sem erros. Só porque você escreveu a consulta errada, isso não deve significar que a consulta é tão errada que o MySQL não a aceitará.
Sempre que você gerar consultas SQL programaticamente, verifique (por depuração ou testes de unidade ainda melhores) se a consulta foi criada corretamente para o que você deseja fazer.
Se você quiser obter uma exceção toda vez que ocorrer um erro, habilite isso:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);