如何用 PHP 将 JSON 数据插入 MySQL 数据库?
原文:https://www . geesforgeks . org/how-insert-JSON-data-in-MySQL-database-using-PHP/
在本文中,我们将看到如何使用 PHP 通过 XAMPP 服务器将 JSON 数据存储到 MySQL 数据库中。
要求: XAMPP 服务器
简介: PHP 是一种开源脚本语言,用于连接数据库和服务器。MySQL 是一种数据库查询语言,用来管理数据库中的数据,与 PHP 进行通信。JSON 代表以窄格式存储数据的 JavaScript 对象表示法。
结构:
[{
"data1": "value1",
"data2": "value2",
. . .
"datan": "value n"
}]
示例:以下为 student.json 文件的内容。
[
{
"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"
}
]
- MySQLINSERT语句:是用来将数据插入数据库。
语法:
INSERT INTO table_name(col1, col2, …, col n)
VALUES(value1, value2, …, value n);
使用的方法:
json_decode()方法: 此函数用于将一个 json 对象解码或转换为一个 PHP 对象。
语法:
json_decode(string, assoc)
- 字符串是 JSON 数据,assoc 是布尔值。
- 如果 assoc 为真,数据将被转换为关联数组。
- 为假为默认值。
进场:
- 启动 XAMPP 服务器
- 在数据库测试下创建名为学生的表格。**
- 编写 PHP 代码将 JSON 数据插入学生表。
步骤:
- 启动 XAMPP 服务器。
- 在测试数据库下创建一个名为学生 的表。
- 创建 JSON 数据并保存为 xampp-htdocs 文件夹下的 college_subjects.json 。
[
{
"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 代码:以下是存储 JSON 数据并显示在网页上的 PHP 代码。
服务器端编程语言(Professional Hypertext Preprocessor 的缩写)
<!DOCTYPE html>
<html>
<head>
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js">
</script>
<link rel="stylesheet" href=
"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script src=
"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js">
</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
// Server name => localhost
// Username => root
// Password => empty
// Database name => test
// Passing these 4 parameters
$connect = mysqli_connect("localhost", "root", "", "test");
$query = '';
$table_data = '';
// json file name
$filename = "college_subjects.json";
// Read the JSON file in PHP
$data = file_get_contents($filename);
// Convert the JSON String into PHP Array
$array = json_decode($data, true);
// Extracting row by row
foreach($array as $row) {
// Database query to insert data
// into database Make Multiple
// Insert Query
$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>
'; // Data for display on Web page
}
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>
输出:
- 打开浏览器,输入 localhost/base.php
数据库表
- 查看表中插入的数据。
执行视频:
[https://media.geeksforgeeks.org/wp-content/uploads/20210407164332/bandicam-2021-04-07-17-44-37-700.mp4](https://media.geeksforgeeks.org/wp-content/uploads/20210407164332/bandicam-2021-04-07-17-44-37-700.mp4)版权属于:月萌API www.moonapi.com,转载请注明出处