You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '5' at line 1

解决方案 »

  1.   

    SQL语句语法有错误,在第一行靠近字符'5'的地方。
      

  2.   

    public List<Product> findByCatId(int id, int begin, int size, String order)throws Exception {
                String subOrder1 = order.substring(0, order.lastIndexOf("-"));
               String subOrder2 = order.substring(order.lastIndexOf("-") + 1);
         System.out.println("subOrder1:"+subOrder1);
         System.out.println( "subOrder2:"+subOrder2);
           String sql="select dp.*,db.* from d_category_product dcp  join d_product dp on(dcp.product_id=dp.id) " +
    "  join d_book db on(dp.id=db.id)" +
    " where dcp.cat_id=? limit ? ? order by ? ? ";
    Connection con = DBUtil.getCon();
    PreparedStatement pst= con.prepareStatement(sql);
    pst.setInt(1, id);
    pst.setInt(2, begin);
    pst.setInt(3, size);
    pst.setString(4, subOrder1);
    pst.setString(5, subOrder2);
      

  3.   

    我通过subOrder1 subOrder2来排序 ,通过begin  size来设置分页 不知道哪里错了
      

  4.   

    String sql="select dcp.*,db.* from d_category_product dcp  join d_product dp on(dcp.product_id=dp.id)看到了没
      

  5.   

     String sql="select dcp.*,db.* from d_category_product dcp  join d_product dp on(dcp.product_id=dp.id) " +
     "  join d_book db on(dcp.id=db.id)" +
     " where dcp.cat_id=? limit ? ? order by ? ? ";细节决定成败,两个c