J'utilise Java pour une application web, et je travaille avec une base de données MySql. J'ai besoin d'échapper à la requête avant de l'exécuter. C'est mon code actuel:Java & MySql - Comment faire pour échapper à la requête avant de l'exécuter
db_result=mydb.selectQuery("SELECT nickname FROM users WHERE nickname='"+log_check_user+"' AND password='"+log_check_pass+"'");
public Vector selectQuery(String query) {
Vector v = null;
String [] record;
int colonne = 0;
try {
Statement stmt = db.createStatement();
ResultSet rs = stmt.executeQuery(query);
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();
while(rs.next()) {
record = new String[colonne];
for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
v.add((String[]) record.clone());
}
rs.close();
stmt.close();
} catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); }
return v;
}
J'ai besoin de cela, comme vous pouvez le croire, pour éviter le problème d'injection SQL! Comment puis-je le faire?
Qu'est-ce que DB2? Quel genre d'objet; quelle classe? Selon le pilote de base de données que vous utilisez, il peut y avoir de meilleurs moyens, comme l'utilisation d'instructions préparées. – Kissaki
MySql ... je l'ai écrit :) pilote jdbc! – markzzz