<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*,java.sql.*"%>
<%@ page import="myBean.SubmitBean.*"%>
<html>
<head>
<title>输入提交</title>
</head>
<body>
<h1>请输入要提交的内容</h1>
<form name="forml" method="post" action="submit.jsp">
<input type="text" name="content1"> 
<input type="submit" name="submit"value="提交"></form>
content:
<%
Connection con;
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://31.0.23.6:3306/test","root","panshi");
PreparedStatement stmt = con.prepareStatement("Select * From Content");
ResultSet rs = stmt.executeQuery();
try {
while(rs.next())
{
String content1 = rs.getString("content");
out.println(content1);
}
String content = new String(request.getParameter("content1").getBytes("iso8859-1"),"gb2312");
PreparedStatement stmt1 = con.prepareStatement("Select * From Content");
stmt1.execute("INSERT INTO Content(content) VALUES( ? )");
stmt1.setString(1,"content");

//rs.close();
}
catch (Exception ex){
out.println(ex.getMessage());
ex.printStackTrace();
}
finally{
rs.close();
stmt.close();
con.close();
}
 %>
</body>
</html>
error:
content: test null null null null null null null null null null null null null null null null null null null content null null null null null 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 '? )' at line 1 求帮助啊 急急急!

解决方案 »

  1.   

    这是后台报错: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 '? )' at line 1
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
    at com.mysql.jdbc.Util.getInstance(Util.java:384)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2512)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:781)
    at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:624)
    at org.apache.jsp.submit_jsp._jspService(submit_jsp.java:85)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
      

  2.   

    String content = new String(request.getParameter("content1").getBytes("iso8859-1"),"gb2312");
    PreparedStatement stmt1 = con.prepareStatement("INSERT INTO Content(content) VALUES( ? )");
    stmt1.setString(1,content);
    stmt1.execute();你的意思应该是这样吧  
      

  3.   

    PreparedStatement stmt1 = con.prepareStatement("Select * From Content");
    stmt1.execute("INSERT INTO Content(content) VALUES( ? )");
    应该是这两句有问题,LZ看一下
      

  4.   

    PreparedStatement stmt = con.prepareStatement("Select * From Content");
    ResultSet rs = stmt.executeQuery();
    变成这个:
    PreparedStatement stmt = con.prepareStatement();
    ResultSet rs = stmt.executeQuery("Select * From Content");
      

  5.   

    改了下:<%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.util.*,java.sql.*"%>
    <%@ page import="myBean.SubmitBean.*"%>
    <html>
    <head>
    <title>输入提交</title>
    </head>
    <body>
    <h1>请输入要提交的内容</h1>
    <form name="forml" method="post" action="submit.jsp">
    <input type="text" name="content"> 
    <input type="submit" name="submit"value="提交"></form>
    <td>content:</td>
    <%
    Connection con;
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://31.0.23.6:3306/test","root","panshi");
    PreparedStatement stmt = con.prepareStatement("Select * From Content");
    ResultSet rs = stmt.executeQuery();
    try {
    String content = new String(request.getParameter("content").getBytes("iso8859-1"),"gb2312");

    stmt.execute("INSERT INTO Content(content) VALUES('"+content+"')");
    stmt.setString(1,"content");
    stmt.executeUpdate();
    PreparedStatement stmt1 = con.prepareStatement("Select * From Content where id='"+content+"'");
    ResultSet rs1 = stmt1.executeQuery();
    while(rs1.next())
    {
    out.println(rs1.getString("content"));
    }
    }
    catch (Exception ex){
    out.println(ex.getMessage());
    ex.printStackTrace();
    }
    finally{
    rs.close();
    stmt.close();
    con.close();
    }
     %>
    </body>
    </html>error:
     Parameter index out of range (1 > number of parameters, which is 0).
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)
    at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3711)
    at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3695)
    at com.mysql.jdbc.PreparedStatement.setString(PreparedStatement.java:4546)
    at org.apache.jsp.submit_jsp._jspService(submit_jsp.java:81)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
    这怎么会报错。SQL里定义过的啊··
      

  6.   

    PreparedStatement stmt = con.prepareStatement("Select * From Content");
    //这后面有句sql了
    stmt.execute("INSERT INTO Content(content) VALUES('"+content+"')");
    //这里又用了一句sql,这明显不对嘛 。
      

  7.   

    stmt.setString(1,"content");
    //还有这里,加双引号的就成了常量了,你的意思应该是content这个变量