Java sql在MySQLWorkbench中工作,但在netbeans中抛出MySQLSyntaxErrorException#565

Java sql在MySQLWorkbench中工作,但在netbeans中抛出MySQLSyntaxErrorException#565,java,mysql,mysql-workbench,Java,Mysql,Mysql Workbench,这条路线仍然不起作用,当我看到错误时,我没有看到任何有用的东西。提前感谢您提供的有用建议 我的问题是: 结果集rs=stmt.executeQuery(sql) 我不需要将sql传递到executeQuery()方法中。谢谢大家的帮助。当我调试文件时,检查状态和类别的值是否正确插入,并确认这些值插入正确。另外,我硬编码他们只是为了确保,这不是问题。你应该写下使用的输入和你得到的错误。从MySQL返回的完整错误消息也是当您使用prepared语句时,您是否收到错误或没有结果?请解释“仍然无法工作”

这条路线仍然不起作用,当我看到错误时,我没有看到任何有用的东西。提前感谢您提供的有用建议

我的问题是: 结果集rs=stmt.executeQuery(sql)


我不需要将sql传递到executeQuery()方法中。谢谢大家的帮助。

当我调试文件时,检查状态和类别的值是否正确插入,并确认这些值插入正确。另外,我硬编码他们只是为了确保,这不是问题。你应该写下使用的输入和你得到的错误。从MySQL返回的完整错误消息也是当您使用prepared语句时,您是否收到错误或没有结果?请解释“仍然无法工作”错误的含义:MySQLSyntaxErrorException#582 SQLState:SQLState String 42000 detailMessage String您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解使用接近“”的正确语法?而第1行的category=?'会导致MySQLSyntaxErrorException#582
      public List<StateGalleryAdListing> getGalleryListing(String state, String category) throws SQLException {

    List<StateGalleryAdListing> adListingList = new ArrayList<>();

    try{

        Statement stmt = conn.createStatement();

        String sql = "SELECT * FROM stateGalleryListingList WHERE state =" + state +  "AND category = " + category;

        ResultSet rs = stmt.executeQuery(sql);

        while(rs.next()) {

            StateGalleryAdListing GalleryAdListing = new StateGalleryAdListing();

            GalleryAdListing.setState(rs.getString(1));
            GalleryAdListing.setCategory(rs.getString(2));
            GalleryAdListing.setAdLink(rs.getString(3));
            GalleryAdListing.setImageHeaderTxt(rs.getString(4));
            GalleryAdListing.setImageSrc(rs.getString(5));

            adListingList.add(GalleryAdListing);
        }

    } catch(SQLException ex) {

        ex.getSQLState();
    }

    return adListingList;

}
 String sql = "SELECT * FROM stateGalleryListingList Where state = ? AND category = ?";
 PreparedStatement stmt = conn.conn.prepareStatement(sql);

 stmt.setString(1, state);
 stmt.setString(2, category);

 ResultSet rs = stmt.executeQuery();