2016-06-12 6 views
-1

Ich erstelle Projekt servlet und jsp. Ich verwende Datenbank phpmyadmin. Ich habe einen Syntaxfehler beim Anzeigen des Produkts aus der Datenbank festgestellt. Der folgende Fehler in Eclipse EE console zurückgegeben. Ich habe das Problem nicht gelöst. Jede Hilfe wird geschätzt.Servlet, Jsp Projekt MySQL Syntaxfehler

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'order 
(id,idUser,order,total) values (default,'1','flower','83.8883')' at 
line 1 

Servletklasse:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws ServletException, IOException { 
     // TODO Auto-generated method stub 


     String idUser = req.getParameter("idUser"); 
     System.out.println(idUser); 
     String order = req.getParameter("order"); 
     System.out.println(order); 
     String total = req.getParameter("total"); 
     System.out.println(total); 

     try { 

      Class.forName("com.mysql.jdbc.Driver"); 
      Connection cnx = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/shop","root",""); 
      PreparedStatement pr = (PreparedStatement) cnx.prepareStatement(
        "insert into order (id,idUser,order,total) values (default,?,?,?)" 
        ); 

       pr.setString(1,idUser); 
       pr.setString(2,order); 
       pr.setString(3, total); 



       pr.executeUpdate(); 
       pr.close(); 

       resp.sendRedirect("Home"); 


     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
+1

Bitte posten Sie die eigentliche Abfrage, die gefeuert wird – Nikhil

+1

Beitrag [SSCCE] (http://sscce.org)/[MCVE] – Pshemo

Antwort

1

Von der Ausnahme kann ich sehen, dass Ihre Tabellennamen order ist, die ein reserviertes Wort in MySql ist. Sie müssen Ihre Abfragen ändern, um sie verwenden zu können.

Simplest MySql spezifische Art und Weise ist es zu entkommen mit "`"

create table `order` 
#... rest of the definition 
insert into `order` values 
#... rest of insert statement 

Es gibt zu Datenbank Agnostiker Weise. Weitere Informationen finden Sie unter this answer.