Java MySQL查询错误SQLException
我在尝试将查询请求实现到程序中时遇到了这个问题。不使用此方法连接到数据库可以正常工作,但是,这会引发Java MySQL查询错误SQLException,java,jquery,mysql,sqlexception,Java,Jquery,Mysql,Sqlexception,我在尝试将查询请求实现到程序中时遇到了这个问题。不使用此方法连接到数据库可以正常工作,但是,这会引发SQLException String query = "SELECT EXISTS ( SELECT * FROM usr WHERE username = admin AND password = pass )"; boolean result; Connection con = null; try { con = DriverManager.g
SQLException
String query = "SELECT EXISTS ( SELECT * FROM usr WHERE username = admin AND password = pass )";
boolean result;
Connection con = null;
try {
con = DriverManager.getConnection(url, username, password);
Statement stmt = (Statement) con.createStatement();
ResultSet rs = stmt.executeQuery(query);
result = rs.next();
} catch (SQLException e) {
throw new RuntimeException("Cannot connect to the database!", e);
} finally {
System.out.println("Closing the connection.");
if (con != null)
try {
con.close();
} catch (SQLException ignore) {
System.out.println("Unknown Error Connecting to MySQL Server!");
}
}
我将查询引入方法以隔离它。
任何帮助都将不胜感激。通常搜索字符串-您需要单引号引用值-因此在where子句中替换为
'admin'
和'pass'
。查看使用准备好的语句::它们几乎不必处理引用字符串/varchar字段的问题。在您的情况下,admin
和pass
没有正确地用单引号括起来。啊,这解决了它,但是,现在它总是返回true,即使值不正确。有什么想法吗?不,应该行。我在我的一个MySQL数据库上尝试了一个非常类似的查询,结果成功了。现在,结果是1(存在)或0(不存在)。您可能希望尝试直接对数据库运行查询—使用mysql命令行。