MySQLi – Update Query

There may be a requirement where the existing data in a MySQL table needs to be modified. You can do so by using the SQL UPDATE command. This will modify any field value of any MySQL table.

Syntax

The following code block has a generic SQL syntax of the UPDATE command to modify the data in the MySQL table −

UPDATE table_name SET field1 = new-value1, field2 = new-value2
[WHERE Clause]
  • You can update one or more field altogether.
  • Also you can specify any condition using the WHERE clause.
  • You can update the values in a single table at a time.

The WHERE clause is very useful when you want to update the selected rows in a table.

Updating Data from the Command Prompt

This will use the SQL UPDATE command with the WHERE clause to update the selected data in the MySQL table tutorials_tbl.

Example

The following example will update the Adglob_title field for a record having the Adglob_id as 3.

root@host# mysql -u root -p password;
Enter password:*******

mysql> use ADGLOB;
Database changed

mysql> UPDATE Adglob_tbl 
   → SET Adglob_title = 'Learning JAVA' 
   → WHERE Adglob_id = 3;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql>

Updating Data Using a PHP Script

PHP uses mysqli query() or mysql_query() function to update records in a MySQL table. This function takes two parameters and returns TRUE on success or FALSE on failure.

Syntax

$mysqli→query($sql,$resultmode)
Sr.No.Parameter & Description
1$sqlRequired – SQL query to update records in a MySQL 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

Try the following example to update a record in a table −

Copy and paste the following example as mysql_example.php −

<html>
   <head>
      <title>Updating MySQL Table</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'root';
         $dbpass = 'root@123';
         $dbname = 'ADGLOB';
         $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
         
         if($mysqli→connect_errno ) {
            printf("Connect failed: %s<br />", $mysqli→connect_error);
            exit();
         }
         printf('Connected successfully.<br />');
		 
         if ($mysqli→query('UPDATE Adglob_tbl set Adglob_title = "Learning Java" where Adglob_id = 4')) {
            printf("Table Adglob_tbl updated successfully.<br />");
         }
         if ($mysqli→errno) {
            printf("Could not update table: %s<br />", $mysqli→error);
         }
         $sql = "SELECT Adglob_id, Adglob_title, Adglob_author, submission_date FROM Adglob_tbl";
		 
         $result = $mysqli→query($sql);
           
         if ($result→num_rows > 0) {
            while($row = $result→fetch_assoc()) {
               printf("Id: %s, Title: %s, Author: %s, Date: %d <br />", 
                  $row["Adglob_id"], 
                  $row["Adglob_title"], 
                  $row["Adglob_author"],
                  $row["submission_date"]);               
            }
         } else {
            printf('No record found.<br />');
         }
         mysqli_free_result($result);
         $mysqli→close();
      ?>
   </body>
</html>

Output

Access the mysql_example.php deployed on apache web server and verify the output. Here we’ve entered multiple records in the table before running the select script.

Connected successfully.
Table Adglob_tbl updated successfully.
Id: 1, Title: MySQL Adglob, Author: Jay, Date: 2021
Id: 2, Title: HTML Adglob, Author: Jay, Date: 2021
Id: 3, Title: PHP Adglob, Author: Jay, Date: 2021
Id: 4, Title: Learning Java, Author: Jay, Date: 2021
Id: 5, Title: Apache Adglob , Author: Subu, Date: 2021

Leave a Reply