繁体   English   中英

执行SQL查询时MySQL语法错误

[英]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块包装ConnectionPreparedStatementResultSet ,例如

try (ResultSet rst = st.executeQuery()) {
    // read the results
}

这样,您可以确保无论发生什么情况都将关闭ResultSet

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM