Inserting Data in PHP/MySQL

Submitted by: 
Visitors have accessed this post 1658 times.

This tutorial is going to be on how to insert data in to a MySQL table through PHP. This is in companionship with my 'How To Retrieve Data' tutorial found here (

To insert data in to a MySQL table, we have to use the 'INSERT' keyword command in our query statement.

First we need to create the data we are going to insert in to the table. My previous tutorial used a scoring system (found here: ) the example so we are going to be using that table and insert some new 'highscores'.

  1. $scores = array();
  2. for ($i=0;$i<3;$i++) {
  3. array_push($scores, rand(1, 99999));
  4. }

As you can see, we now create three new scores held within a 'scores' array. Each score is using our random function and so will be different each time.

Next we are going to run through each of our scores and create a query for each one. The query should execute upon creation and so we don't need to get any returns or results from it.

To insert data through a query, we type 'INSERT INTO {tableName} VALUES({data})', like so...

mysqli_query("INSERT INTO `testtable` VALUES ('', '1000')");

  1. foreach ($scores as $key => $value) {
  2. mysqli_query($con, "INSERT INTO `test` VALUES ('', '$value')");
  3. }

We could then use our retrieving data techniques to see the new information...

  1. $q = mysqli_query($con, "SELECT * FROM `test`"); //Gets all from table 'test'
  2. $scores2 = array();
  3. while ($row = mysqli_fetch_array($q)) {
  4. //$row = next row of results/all rows from table 'test' within database 'fln'
  5. echo "Before sorting... ".$row['score']."<br/>"; //Echo current $row's column value of 'id'.
  6. array_push($scores2, $row['score']);
  7. }
  8. arsort($scores2);
  9. $ind = 0;
  10. foreach($scores2 as $key => $value) {
  11. echo 'After sorting. ID: ' . $ind . '. Score: ' . "$value <br />";
  12. $ind += 1;
  13. }

Full Source:

  1. <?php
  2. $con = mysqli_connect('localhost', 'root', '', 'fln'); //server, username, password, database name
  3. $scores = array();
  4. for ($i=0;$i<3;$i++) {
  5. array_push($scores, rand(1, 99999));
  6. }
  7. foreach ($scores as $key => $value) {
  8. mysqli_query($con, "INSERT INTO `test` VALUES ('', '$value')");
  9. }
  11. $q = mysqli_query($con, "SELECT * FROM `test`"); //Gets all from table 'test'
  12. $scores2 = array();
  13. while ($row = mysqli_fetch_array($q)) {
  14. //$row = next row of results/all rows from table 'test' within database 'fln'
  15. echo "Before sorting... ".$row['score']."<br/>"; //Echo current $row's column value of 'id'.
  16. array_push($scores2, $row['score']);
  17. }
  18. arsort($scores2);
  19. $ind = 0;
  20. foreach($scores2 as $key => $value) {
  21. echo 'After sorting. ID: ' . $ind . '. Score: ' . "$value <br />";
  22. $ind += 1;
  23. }
  24. ?>

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Add new comment

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • You may insert videos with [video:URL]
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <th> <img> <h1> <h2> <h3> <iframe> [video]
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <asp>, <c>, <cpp>, <csharp>, <css>, <html4strict>, <java>, <javascript>, <mysql>, <php>, <python>, <sql>, <vb>, <vbnet>. The supported tag styles are: <foo>, [foo].
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.