Sua chamada de preparação está falhando e você simplesmente assumiu que ela foi bem-sucedida.
Experimentar
$preparedStatement = $db->prepare($query) or die($db->errorInfo());
para pegar o erro.
$preparedStatement = $db->prepare($query) or die($db->errorInfo());