Vous n'avez fourni aucun détail sur la langue/l'environnement, mais je vais quand même essayer de deviner :
Les instructions préparées de MySQL utilisent nativement ?
comme paramètre fictif, mais PostgreSQL utilise $1
, $2
etc. Essayez de remplacer le ?
avec $1
et voyez si cela fonctionne :
WHERE address = $1
Les messages d'erreur dans PostgreSQL sont très cryptiques.
En général, j'ai trouvé que les messages d'erreur Postgres sont meilleurs que les produits concurrents (ahem, MySQL et surtout Oracle), mais dans ce cas, vous avez réussi à confondre l'analyseur au-delà de la raison. :)