📜  如何使用PHP将 JSON 数据插入 MySQL 数据库?(1)

📅  最后修改于: 2023-12-03 15:24:00.021000             🧑  作者: Mango

如何使用 PHP 将 JSON 数据插入 MySQL 数据库?

在 Web 开发中,经常会遇到需要将从前端传来的 JSON 数据存储到 MySQL 数据库中的情况。本文将介绍使用 PHP 语言实现将 JSON 数据插入到 MySQL 数据库的方法。

准备工作

在编写代码前,我们需要做如下准备工作:

  1. 确认你的 Web 服务器已安装了 PHP 和 MySQL。
  2. 创建一个 MySQL 数据库,本文假设数据库名为 mydatabase
  3. 创建一个名为 users 的表,包含如下字段:
CREATE TABLE users (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    email VARCHAR(50) NOT NULL,
    age INT(3) NOT NULL
);
编写 PHP 代码

接下来,我们通过 PHP 代码实现将 JSON 数据插入到 MySQL 数据库中。

首先,需要连接到 MySQL 数据库。使用 mysqli_connect() 函数连接到数据库,代码如下:

$servername = "localhost"; // 服务器名称
$username = "yourusername"; // 用户名
$password = "yourpassword"; // 密码
$dbname = "mydatabase"; // 数据库名

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("连接失败:" . mysqli_connect_error());
}

接下来,读取从前端传来的 JSON 数据,并将其解析成 PHP 数组。使用 json_decode() 函数进行 JSON 解析,代码如下:

$json_str = file_get_contents('php://input');
$data = json_decode($json_str, true);

代码中的 $json_str 是从 php://input 流中读取的 JSON 字符串。json_decode() 函数的第二个参数传递 true 表示返回关联数组而非对象。

接下来,将 PHP 数组中的数据插入到 MySQL 数据库中。使用 mysqli_query() 函数执行 SQL INSERT 语句,代码如下:

$sql = "INSERT INTO users (name, email, age) VALUES ('" . $data['name'] . "', '" . $data['email'] . "', '" . $data['age'] . "')";

if (mysqli_query($conn, $sql)) {
    echo "记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

代码中的 $data 变量即前面解析出的 PHP 数组。SQL INSERT 语句将 $data 中的 nameemailage 字段的值插入到数据库中。

最后,关闭与数据库的连接:

mysqli_close($conn);
完整代码

以下是完整的 PHP 代码示例:

<?php
$servername = "localhost"; // 服务器名称
$username = "yourusername"; // 用户名
$password = "yourpassword"; // 密码
$dbname = "mydatabase"; // 数据库名

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功
if (!$conn) {
    die("连接失败:" . mysqli_connect_error());
}

$json_str = file_get_contents('php://input');
$data = json_decode($json_str, true);

$sql = "INSERT INTO users (name, email, age) VALUES ('" . $data['name'] . "', '" . $data['email'] . "', '" . $data['age'] . "')";

if (mysqli_query($conn, $sql)) {
    echo "记录插入成功";
} else {
    echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

mysqli_close($conn);
?>
总结

本文介绍了使用 PHP 将 JSON 数据插入 MySQL 数据库的方法。需要注意的是,要先连接到数据库,读取和解析 JSON 数据后,再构建 INSERT 语句插入到数据库中。最后,关闭与数据库的连接。