Bharath Bhandarkar
Bharath Bhandarkar

Reputation: 468

Null values automatically inserted when executing a query using JSP and MySQL

When I execute the code below, before every insert, automatically a row is getting filled with Null values and then the actual values are being inserted.

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="style.css" type="text/css">
    <title>Connecting to a Data base</title>
</head>
<body>

     <%
     String connectionURL="jdbc:mysql://localhost:3306/jsp_test";
     Connection connection = null;
     Class.forName("com.mysql.jdbc.Driver").newInstance();
     connection = DriverManager.getConnection(connectionURL, "root", "exeterblr");
     if(!connection.isClosed()) {
         out.println("Successfully connected to " + "MySQL server using TCP/IP...");
         }
     else
         {
         out.println("Cannot connect to DB");
         }
        String name=request.getParameter("name");
        String email=request.getParameter("email");
        String phone=request.getParameter("phone");
        PreparedStatement pstatement=null;
        int updateTable=0;
        String queryString = "INSERT INTO sample_info(name,email,phone) VALUES (?, ?, ?)";
        pstatement=connection.prepareStatement(queryString);
        pstatement.setString(1, name);
        pstatement.setString(2, email);
        pstatement.setString(3, phone);

        updateTable=pstatement.executeUpdate();
      %>



    <form method="post" action="index.jsp">
        <table>
            <tr>
            <td>Name</td><td><input type="text" name="name"></td>
            </tr>
            <tr>
            <td>Email</td><td><input type="text" name="email"></td>
            </tr>
            <tr>
            <td>Phone</td><td> <input type="text" name="phone"></td>
            </tr>

        </table>
        <input type="submit" value="Submit">
    </form>


</body>

When I insert a value, the database contains the following:

Name Email Phone <br />
NULL NULL  NULL  <br />
ActualValue ActualValue Actual Value

Upvotes: 3

Views: 2100

Answers (2)

innovative kundan
innovative kundan

Reputation: 631

You are not checking that form is submit or not just fire insert sql so it insert null value. first check that form is submit or not if form is submit then insert otherwise not insert.

Hope it will help you.

Upvotes: 0

user1820801
user1820801

Reputation: 114

You insert (NULL,NULL,NULL) each time you visit your webpage and not only on submit.

Upvotes: 2

Related Questions