【发布时间】:2017-08-21 18:16:20
【问题描述】:
我希望在用户输入同时匹配 cUsername 和 cPassword 时显示所有字段。对此进行测试时,我的 SQL 语法出现错误(靠近 cPassword 的位置)。有人可以提出这个问题吗?请注意我还没有完成 SQL 注入...
public Car getLogin(String searchUser, String searchPass) {
Car foundCar1 = new Car();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(url + dbName, userName, password);
statement = conn.createStatement();
resultSet = statement.executeQuery("select * from eflow.registration where cUsername like '" + searchUser
+ "' AND where cPassword like '" + searchPass + "'");
while (resultSet.next()) {
foundCar1 = new Car(resultSet.getInt("cID"), resultSet.getString("cLicense"),
resultSet.getInt("cJourneys"), resultSet.getString("cUsername"),
resultSet.getString("cPassword").toString());
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
return foundCar1;
}
【问题讨论】:
-
你应该改掉这个坏习惯,学习如何使用prepareStatments。 "select * from eflow.registration where cUsername like '" + searchUser + "' AND where cPassword like '" + searchPass + "'"
标签: java sql database command line