In this article, we are going to see how to store JSON data into MySQL database using PHP through the XAMPP server.
Requirements: XAMPP Server
Introduction: PHP is an open-source scripting language used to connect with databases and servers. MySQL is a database query language that is used to manage the data in the database to communicate with PHP. JSON stands for JavaScript object notation which stores data in narrow format.
Structure:
[{
"data1": "value1",
"data2": "value2",
. . .
"datan": "value n"
}]
Example: The following is the content for student.json file.
[
{
"name": "sravan kumar",
"gender": "Male",
"subject": "Software engineering"
},
{
"name": "sudheer",
"gender": "Male",
"subject": "deep learning"
},
{
"name": "radha",
"gender": "Female",
"subject": "Software engineering"
},
{
"name": "vani",
"gender": "Female",
"subject": "Software engineering"
}
]
- MySQL INSERT statement: It is used to insert data into the database.
Syntax:
INSERT INTO table_name(col1, col2, …, col n)
VALUES(value1, value2, …, value n);
Used Methods:
json_decode() Method: This function is used to decode or convert a JSON object to a PHP object.
Syntax:
json_decode(string, assoc)
- The string is the JSON data and the assoc is the boolean value.
- If assoc is true, data is converted into an associative array.
- false is the default value.
Approach:
- Start XAMPP server
- Create a table named student under database test.
- Write PHP code to insert JSON data into student table.
Steps:

- Create a table named student under test database.

- Create JSON data and save it as college_subjects.json under xampp-htdocs folder.
[
{
"name": "sravan kumar",
"gender": "Male",
"subject": "Software engineering"
},
{
"name": "sudheer",
"gender": "Male",
"subject": "deep learning"
},
{
"name": "radha",
"gender": "Female",
"subject": "Software engineering"
},
{
"name": "vani",
"gender": "Female",
"subject": "Software engineering"
}
]
PHP code: The following is the PHP code to store JSON data and display it on the web page.
PHP
<!DOCTYPE html>
<html>
<head>
<script src=
</script>
<link rel= "stylesheet" href=
<script src=
</script>
<style>
.box {
width: 750px;
padding: 20px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
margin-top: 100px;
}
</style>
</head>
<body>
<div class = "container box" >
<h3 align= "center" >
Geeks for Geeks Import JSON
data into database
</h3><br />
<?php
$connect = mysqli_connect( "localhost" , "root" , "" , "test" );
$query = '' ;
$table_data = '' ;
$filename = "college_subjects.json" ;
$data = file_get_contents ( $filename );
$array = json_decode( $data , true);
foreach ( $array as $row ) {
$query .=
"INSERT INTO student VALUES
( '".$row["name"]."' , '".$row["gender"]."' ,
'".$row["subject"]."' ); ";
$table_data .= '
<tr>
<td> '.$row["name"].' </td>
<td> '.$row["gender"].' </td>
<td> '.$row["subject"].' </td>
</tr>
';
}
if (mysqli_multi_query( $connect , $query )) {
echo '<h3>Inserted JSON Data</h3><br />' ;
echo '
<table class = "table table-bordered" >
<tr>
<th width= "45%" >Name</th>
<th width= "10%" >Gender</th>
<th width= "45%" >Subject</th>
</tr>
';
echo $table_data ;
echo '</table>' ;
}
?>
<br />
</div>
</body>
</html>
|
Output:
- Open browser and type localhost/base.php

DB table
- View the inserted data in the table.

Execution Video: