http://php.net/manual/en/pdo.prepare.php staten:
Zoals dit aangeeft, is de waarschijnlijke reden waarom uw code op de ene server werkt en niet op een andere, dat PDO::ATTR_EMULATE_PREPARES
is uitgeschakeld op de server waarop de code mislukt. Zoals de documentatie zegt, verwijdert dit attribuut effectief de beperking die voorkomt dat u een parametermarkering met dezelfde naam twee keer gebruikt (samen met enkele andere beperkingen).