2012-03-07 144 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參數的值。