PHP & MySQL – Insert Records Example

PHP uses mysqli_query function to insert records in table. This function takes three parameters and returns TRUE on success or FALSE on failure.

Syntax

mysqli_query ( mysqli $link, string $query, int $resultmode = MYSQLI_STORE_RESULT ) : mixed
Sr.No.Parameter & Description
1$linkRequired – A link identifier returned by mysqli_connect() or mysqli_init().
2$queryRequired – SQL query to drop a table.
2$resultmodeOptional – Either the constant MYSQLI_USE_RESULT or MYSQLI_STORE_RESULT depending on the desired behavior. By default, MYSQLI_STORE_RESULT is used.

Example

This example will take three parameters from the user and will insert them into the MySQL table −

Copy and paste the following example as mysql_example.php −

<html>
   <head>
      <title>Add New Record in MySQL Database</title>
   </head>
   <body>
      <?php
         if(isset($_POST['add'])) {
            $dbhost = 'localhost';
            $dbuser = 'root';
            $dbpass = 'root@123';
            $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
         
            if(! $conn ) {
               die('Could not connect: ' . mysqli_error($conn));
            }
            if(! get_magic_quotes_gpc() ) {
               $adglob_title = addslashes ($_POST['adglob_title']);
               $adglob_author = addslashes ($_POST['adglob_author']);
            } else {
               $adglob_title = $_POST['adglob_title'];
               $adglob_author = $_POST['adglob_author'];
            }
            $submission_date = $_POST['submission_date'];
            $sql = "INSERT INTO adglob_tbl ".
               "(adglob_title,adglob_author, submission_date) "."VALUES ".
               "('$adglob_title','$adglob_author','$submission_date')";
            mysqli_select_db( $conn, 'ADGLOB' );
            $retval = mysqli_query( $conn, $sql );
         
            if(! $retval ) {
               die('Could not enter data: ' . mysqli_error($conn));
            }
            echo "Entered data successfully\n";
            mysqli_close($conn);
         } else {
      ?>  
      <form method = "post" action = "<?php $_PHP_SELF ?>">
         <table width = "600" border = "0" cellspacing = "1" cellpadding = "2">
            <tr>
               <td width = "250">Adglob Title</td>
               <td><input name = "adglob_title" type = "text" id = "adglob_title"></td>
            </tr>         
            <tr>
               <td width = "250">Adglob Author</td>
               <td><input name = "Adglob_author" type = "text" id = "adglob_author"></td>
            </tr>         
            <tr>
               <td width = "250">Submission Date [   yyyy-mm-dd ]</td>
               <td><input name = "submission_date" type = "text" id = "submission_date"></td>
            </tr>      
            <tr>
               <td width = "250"> </td>
               <td></td>
            </tr>         
            <tr>
               <td width = "250"> </td>
               <td><input name = "add" type = "submit" id = "add"  value = "Add Adglob"></td>
            </tr>
         </table>
      </form>
   <?php
      }
   ?>
   </body>
</html>

Output

Access the mysql_example.php deployed on apache web server, enter details and verify the output on submitting the form.

Entered data successfully

While doing a data insert, it is best to use the function get_magic_quotes_gpc() to check if the current configuration for magic quote is set or not. If this function returns false, then use the function addslashes() to add slashes before the quotes.

You can put many validations around to check if the entered data is correct or not and can take the appropriate action.

Leave a Reply