http://php.net/manual/en/pdo.prepare.php säger:
Som detta indikerar är den troliga orsaken till att din kod fungerar på en server och inte en annan att PDO::ATTR_EMULATE_PREPARES
är inaktiverat på servern som koden misslyckas på. Som dokumentationen säger tar det här attributet effektivt bort begränsningen som hindrar dig från att använda en parametermarkör med samma namn två gånger (tillsammans med några andra begränsningar).