Reputation: 613
I am trying to make a registration page using java servlets, mysql database. here is part of my servlet code. There is no error output. database path is 100% correct
String uName = request.getParameter("username");
String pass = request.getParameter("passwd");
String rpass = request.getParameter("rpasswd");
String email = request.getParameter("email");
try {
Class.forName("com.mysql.cj.jdbc.Driver");
final String DB_URL = "jdbc:mysql://127.0.0.1:3306/userData";
Connection con = DriverManager.getConnection(DB_URL, "serv", "serv");
String sql = "INSERT INTO users (username, password, em) values (?, ?, ?)";
PreparedStatement stat = con.prepareStatement(sql);
stat.setString(1, uName);
stat.setString(2, pass);
stat.setString(3,email);
con.close();
}
catch(SQLException e) {
System.out.println(e);
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Upvotes: 1
Views: 265
Reputation: 905
String uName = request.getParameter("username");
String pass = request.getParameter("passwd");
String rpass = request.getParameter("rpasswd");
String email = request.getParameter("email");
Class.forName("com.mysql.cj.jdbc.Driver");
final String DB_URL = "jdbc:mysql://127.0.0.1:3306/userData";
try (Connection con = DriverManager.getConnection(DB_URL, "serv", "serv")) {
final String sql = "INSERT INTO users (username, password, em) values (?, ?, ?)";
final PreparedStatement stat = con.prepareStatement(sql);
stat.setString(1, uName);
stat.setString(2, pass);
stat.setString(3, email);
stat.execute(); // you miss this
} catch(Exception e) {
System.out.println(e);
}
From the PreparedStatement javadoc, execute()
executes the SQL statement in this PreparedStatement object, which may be any kind of SQL statement.
Upvotes: 1