Du har inte angett några detaljer om språket/miljön, men jag ska försöka en vild gissning ändå:
MySQL:s förberedda uttalanden använder naturligt ?
som parameterplatshållare, men PostgreSQL använder $1
, $2
etc. Försök att ersätta ?
med $1
och se om det fungerar:
WHERE address = $1
Felmeddelandena i PostgreSQL är mycket kryptiska.
I allmänhet har jag funnit att Postgres felmeddelanden är bättre än konkurrerande produkter (ahem, MySQL och särskilt Oracle), men i det här fallet har du lyckats förvirra parsern bortom förstånd. :)