2012-03-07 143 views
0

我已经创建了如下所示的html文档,但是我有麻烦的mysql编码,以使表单中的值更新我的mysql数据库。任何人都可以帮我解决这个问题吗?html表单更新mysql数据库

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> <body> 
     <h1>Hello World!</h1> 

     <h1>Submit your notices below:</h1> 

     <form name="messages" action="teacher1messages.jsp" method="POST"   enctype="multipart/form-data"> 
     <h1>Username:</h1> 
     <input type="text" name="username" value="eg.cs09kkk1" /> 
      <h1>Date of notice:</h1> 
      <input type="text" name="date" value="dd/mm/yy" /> 
      <h1>Notice:</h1> 
      <textarea name="message1" rows="4" cols="20"> 
[Type your notices here] 
      </textarea> 
      <input type="submit" value="submit" name="submit" /> 
      <h1>Acknowledgment:</h1> 
      <input type="text" name="acknowledgment" value="" /> 
     </form> 


    </body> 
</html> 

这是SQL更新编码但是我已经尝试过了刚刚更新表在我的数据库为空空,而不是

--%><sql:update var="messages" dataSource="jdbc/noticeboard"> 
    INSERT INTO messages (username, postedon, message, acknowledgment) 
VALUES ('$_POST[username]','$_POST[date]','$_POST[message1]','$_POST[acknowledgment]') 
</sql:update> 
+0

你会得到任何错误?粘贴内容teacher1messages.jsp页面在这里..我认为有你正确的道码 – Rajesh 2012-03-07 20:25:21

+0

你是什么意思“更新你的数据库? – 2012-03-07 20:25:52

+0

action =”teacher1messages.jsp这部分的代码必须是我的页面代码已打开?或者我需要另一个页面和另一个代码来完成这项工作? – user1162494 2012-03-07 20:26:25

回答

0

从未使用过的jsp这种用户输入值可能是错误的但不正确的语法:

$_POST['username'] 

'$_POST[username]' 

所以,你的代码就变成了:

<sql:update var="messages" dataSource="jdbc/noticeboard"> 
    INSERT INTO messages (username, postedon, message, acknowledgment) VALUES ($_POST['username'],$_POST['date'],$_POST['message1'],$_POST['acknowledgment']) 
</sql:update> 
+0

javax.servlet.ServletException: INSERT INTO messages(username,postedon,message,acknowledgement)VALUES($ _POST ['username'],$ _ POST ['date'],$ _ POST ['message1'],$ _ POST ['确认']) :您的SQL语法有错误;检查对应于你的MySQL服务器版本的手册,在'['username'],$ _ POST ['date'],$ _ POST ['message1'],$ _ POST ['acknowledgement'])'附近使用正确的语法行1 它带来了错误。我需要输入表格的实际值,因为现在我的数据库有$ _POST [用户名]而不是他们的用户名。 – user1162494 2012-03-07 21:42:50

+0

嗯,我说这可能是错误的:) – Turnip 2012-03-07 21:44:33

0

有没有在JSP没有$_POST,这可能是PHP。试试ServletRequestgetParameter() method

+0

不,它不是作业 – user1162494 2012-03-08 01:32:24

+0

对不起,被误导与'teacher1messages'和'Hello World'字 – jambriz 2012-03-08 16:13:49

0

那些$_POST[parameterName]用于PHP。 你在这里搞乱了PHP和JSP。您的查询应该是:

<sql:update var="messages" dataSource="jdbc/noticeboard"> 
    INSERT INTO messages (username, postedon, message, acknowledgment) 
     VALUES ('<%=request.getParameter("username")%>', 
       '<%=request.getParameter("date")%>', 
       '<%=request.getParameter("message1")%>', 
       '<%=request.getParameter("acknowledgment")%>') 
</sql:update> 

<%=request.getParameter("parameterName")%>在JSP用来打印parameterName参数的值。