Odstraňte uvozovky kolem ? Zástupné symboly PreparedStatement. Ovladač JDBC za vás uvede řetězce. Když sami citujete zástupný symbol řetězce, ovladač JDBC si myslí, že chcete předat doslovný ? ve vašem prohlášení.
Nezmínili jste databázi, kterou používáte, ale hlavní autor ovladače MySQL JDBC to potvrzuje zde:https://forums.mysql.com/read.php?39,499385,499450#msg-499450