Maison > Article > base de données > Comment transmettre en toute sécurité des paramètres à une instruction préparée JDBC ?
Passer des paramètres à un PreparedStatement JDBC
La création d'une classe de validation pour un programme Java implique souvent d'interroger une base de données. Le code suivant tente de sélectionner une ligne spécifique d'une table à l'aide d'un PreparedStatement avec un paramètre :
public class Validation { // ... public Validation(String userID) { try { // ... statement = con.prepareStatement( "SELECT * from employee WHERE userID = " + "''" + userID); // ... } catch (Exception ex) { // ... } } // ... }
Cependant, ce code peut ne pas fonctionner car l'instruction SQL n'est pas formatée correctement.
Solution :
Pour passer correctement un paramètre à un PreparedStatement, utilisez setString() méthode :
statement = con.prepareStatement("SELECT * from employee WHERE userID = ?"); statement.setString(1, userID);
Cette méthode définit la valeur du premier paramètre (?) sur l'ID utilisateur spécifié. Il garantit que l'instruction est correctement formatée et empêche l'injection SQL, une vulnérabilité de sécurité qui se produit lorsque du code SQL malveillant est injecté dans une requête.
Pour plus d'informations sur l'utilisation de PreparedStatements, reportez-vous aux didacticiels Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!