我正在使用Java作爲Web應用程序,並且正在使用MySql數據庫。在執行它之前,我需要轉義查詢。這是我的實際代碼:Java&MySql - 在執行它之前如何逃避查詢
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;
}
我需要這個,你可以相信,以避免SQL注入問題!我該怎麼做?
db是什麼?什麼樣的對象;哪一堂課?根據您使用的數據庫驅動程序,可能有更好的方法,如使用預準備語句。 – Kissaki 2010-11-10 15:08:26
MySql ...我寫過了:) jdbc驅動! – markzzz 2010-11-10 16:25:36