[英]MySQL syntax error when executing SQL query
当我尝试运行下面的代码时,我得到:
您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册,以在'?'附近使用正确的语法。 在第1行
String query="Select * from DB.Admin where username = ?";
PreparedStatement st=connection.prepareStatement(query);
st.setString(1,request.getParameter("loginid"));
ResultSet rst= st.executeQuery(query);
int count=0;
while(rst.next()){
count++;
}
请帮助我。
您将必须从executeQuery
调用中删除query
参数。 如果提供该参数,将在不绑定任何值的情况下执行查询(有关详细信息,请参见Statement )-这就是语法(即?
)无效的原因。
执行如下查询:
ResultSet rst = st.executeQuery();
附带说明:您应该始终用try-with-resources块包装Connection
, PreparedStatement
和ResultSet
,例如
try (ResultSet rst = st.executeQuery()) {
// read the results
}
这样,您可以确保无论发生什么情况都将关闭ResultSet
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.