Mysql
 sql >> Database >  >> RDS >> Mysql

Come utilizzare l'istruzione preparata per selezionare la query in Java?

Devi usare:

preparedStatement.executeQuery();

invece di

preparedStatement.executeQuery(login);

quando passi una stringa a executeQuery() quello la query viene eseguita letteralmente e quindi il ? viene inviato al database che quindi crea l'errore. Passando la stringa di query non stai eseguendo l'istruzione preparata "in cache" per la quale hai passato i valori.