【问题标题】:cannot to insert data into mysql table无法将数据插入mysql表
【发布时间】:2020-08-29 22:29:14
【问题描述】:
    if(request.getParameter("btn_register")!=null)  //check condition button register click event not null "btn_register"
    {
        String firstname,lastname,email,password,role; //create blank bariable

        firstname=request.getParameter("txt_firstname");    //textbox name "txt_fristname"
        lastname=request.getParameter("txt_lastname");  //textbox name "txt_lastname"
        email=request.getParameter("txt_email");    //textbox name "txt_email"
        password=request.getParameter("txt_password");  //textbox name "txt_password"
        role=request.getParameter("txt_role"); //select option name "txt_role"

        String dburl="jdbc:mysql://localhost:3306/jsp_multiuser_login_db"; //database url string the "jsp_multiuser_login_db" is database name
        String dbuname="root"; //database username   
        String dbpwd ="root"; //database password

        try
        {
            Class.forName("com.mysql.jdbc.Driver"); //load driver
            Connection con=DriverManager.getConnection(dburl,dbuname,dbpwd); //create connection

            PreparedStatement pstmt=null; //create statement

            pstmt=con.prepareStatement("SELECT * FROM tbl_user WHERE email=? "); //sql select query
            pstmt.setString(1,email); 
            ResultSet rs=pstmt.executeQuery(); //execute query and set in ResultSet object "rs".

            if(rs.next())
            {
                String checkEmail=rs.getString("email");

                if(email.equals(checkEmail))    //check condition email already exist from user email
                {
                    request.setAttribute("errorMsg", "sorry email already exist"); //error message for email already exist
                }
            }
            else
            {
                pstmt=con.prepareStatement("INSERT INTO tbl_user(firstname,lastname,email,password,role) VALUES(?,?,?,?,?)"); //sql insert query
                pstmt.setString(1,firstname);
                pstmt.setString(2,lastname);
                pstmt.setString(3,email);           //set all variables
                pstmt.setString(4,password);
                pstmt.setString(5,role);
                pstmt.executeUpdate(); //execute query

                request.setAttribute("successMsg", "register successfully please login account"); //register successfully message
            }

            pstmt.close();  //close statement 
            con.close(); //close connection
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
%>

我无法将数据插入我的工作台 SQL 数据库。我的数据库名称是 jsp_multiuser_login_db,里面有一个名为 tbl_user 的表,有 6 列:id、firstname、lastname、email、password 和 role。 /////////////

【问题讨论】:

  • 你有什么异常吗?
  • 运行这段代码会发生什么?什么是异常或错误?此外,此代码位于 jsp?
  • @ElliottFrisch 什么也没发生,它只是再次加载 register.jsp 页面。
  • 你能执行查询吗?
  • @sc0der 它没有显示任何错误,但没有数据插入到数据库中。

标签: java sql jsp jdbc netbeans


【解决方案1】:

执行时只尝试一下

pstmt.execute(); //execute query

【讨论】:

  • 这意味着您正在插入与数据库中不同的任何其他类型的数据
  • 检查两端的数据类型
【解决方案2】:

我运行了你的代码,一切正常:Mysql Database

有两个可能的问题可能会阻止您的代码提交到数据库:

  1. 凭据无效或无法连接,请检查con.isClosed() 以检查您是否已打开连接。
  2. 库无效。请验证您的导入是否为 java.sql,如下所示:

    • import java.sql.Connection;
    • import java.sql.DriverManager;
    • import java.sql.PreparedStatement;
    • import java.sql.ResultSet;

【讨论】:

    猜你喜欢
    • 2014-06-17
    • 2017-11-08
    • 1970-01-01
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多