繁体   English   中英

无法将数据插入 mysql 表

[英]cannot to insert data into mysql table

    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、名字、姓氏、email、密码和角色。 //////////////

当执行尝试只是

pstmt.execute(); //execute query

我运行您的代码,一切正常: Mysql 数据库

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM