Je hebt geen details gegeven over de taal/omgeving, maar ik doe toch een gok:
De voorbereide instructies van MySQL gebruiken native ?
als de tijdelijke aanduiding voor de parameter, maar PostgreSQL gebruikt $1
, $2
enz. Probeer de ?
. te vervangen met $1
en kijk of het werkt:
WHERE address = $1
De foutmeldingen in PostgreSQL zijn erg cryptisch.
Over het algemeen heb ik ontdekt dat foutmeldingen van Postgres beter zijn dan concurrerende producten (ahem, MySQL en vooral Oracle), maar in dit geval ben je erin geslaagd om de parser te verwarren met gezond verstand. :)