html表单更新mysql数据库

html表单更新mysql数据库,mysql,html,database,forms,jsp,Mysql,Html,Database,Forms,Jsp,我已经创建了一个如下所示的html文档,但是我在使用mysql编码使表单中的值更新我的mysql数据库时遇到了问题。有谁能帮我做这件事吗 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=U

我已经创建了一个如下所示的html文档,但是我在使用mysql编码使表单中的值更新我的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更新编码,但是它只是将数据库中的表更新为null,而不是用户输入值

--%><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>

从未使用过jsp,这可能是错误的,但不是正确的语法:

$_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>
JSP中没有$\u POST,这可能是PHP。试试ServletRequest。

那些$\u 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>

在JSP中用于打印parameterName参数的值

你有什么错误吗?将teacher1messages.jsp页面的内容粘贴到此处..我认为有必要纠正dao代码您更新数据库的确切含义是什么?action=teacher1messages.jsp这部分代码必须是我的代码所在的页面吗?或者我需要另一个页面和另一段代码来完成这项工作吗?@d_\n我希望表单中的详细信息作为新记录插入到数据库中,因此当人们发布消息时,我需要一个他们发布的消息表。javax.servlet.ServletException:INSERT into messages用户名、postedon、message、,确认值$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;检查与您的MySQL服务器版本对应的手册,以了解在第1行“['username']”、$\u POST['date']、$\u POST['message1']、$\u POST['acknowledment']”附近使用的正确语法。它会导致该错误。我需要输入表单的实际值,因为现在我的数据库中有$_POST[username]而不是他们的用户名。对不起,被Teacher1消息和Hello World单词误导了
<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>