php将json数据保存在MySQL中并读取

使用PHP将JSON数据保存在MySQL中,可以按照以下步骤进行操作:

  1. 解析JSON数据:使用PHP的json_decode函数将JSON数据解析为PHP数组或对象,方便后续处理。

  2. 连接MySQL数据库:使用PHP的mysqli或PDO扩展连接到MySQL数据库。可以使用以下代码示例连接到MySQL数据库:

    servername = "localhost"; username = "your_username";
    password = "your_password"; dbname = "your_database";
    // 使用mysqli扩展连接MySQL数据库
    conn = new mysqli(servername, username, password, dbname); // 使用PDO扩展连接MySQL数据库 conn = new PDO("mysql:host=servername;dbname=dbname", username, password);

创建数据表:如果尚未创建数据表,可以使用以下代码示例创建一个名为"json_data"的数据表,用于存储JSON数据:

复制代码
// 使用mysqli扩展创建数据表
$sql = "CREATE TABLE json_data (
    id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    data JSON
)";

if ($conn->query($sql) === TRUE) {
    echo "Table created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

// 使用PDO扩展创建数据表
$sql = "CREATE TABLE json_data (
    id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    data JSON
)";

if ($conn->exec($sql) === TRUE) {
    echo "Table created successfully";
} else {
    echo "Error creating table: " . $conn->errorInfo()[2];
}

插入JSON数据:将解析后的JSON数据插入到MySQL数据库中的数据表中。可以使用以下代码示例将JSON数据插入到"json_data"表中:

复制代码
$data = json_decode($json, true); // 将JSON数据解析为PHP数组

// 使用mysqli扩展插入JSON数据
$sql = "INSERT INTO json_data (data) VALUES ('" . $conn->real_escape_string(json_encode($data)) . "')";

if ($conn->query($sql) === TRUE) {
    echo "JSON data inserted successfully";
} else {
    echo "Error inserting JSON data: " . $conn->error;
}

// 使用PDO扩展插入JSON数据
$sql = "INSERT INTO json_data (data) VALUES (?)";
$stmt = $conn->prepare($sql);
$stmt->execute([json_encode($data)]);

if ($stmt->rowCount() > 0) {
    echo "JSON data inserted successfully";
} else {
    echo "Error inserting JSON data";
}

查询JSON数据:可以使用以下代码示例从MySQL数据库中查询JSON数据:

复制代码
// 使用mysqli扩展查询JSON数据
$sql = "SELECT data FROM json_data";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        $data = json_decode($row['data'], true); // 将JSON数据解析为PHP数组
        // 处理JSON数据
    }
} else {
    echo "No JSON data found";
}

// 使用PDO扩展查询JSON数据
$sql = "SELECT data FROM json_data";
$stmt = $conn->query($sql);

if ($stmt->rowCount() > 0) {
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $data = json_decode($row['data'], true); // 将JSON数据解析为PHP数组
        // 处理JSON数据
    }
} else {
    echo "No JSON data found";
}
相关推荐
IT19953 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
2501_944521594 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
漠月瑾-西安5 小时前
PHP曝出两个严重RCE漏洞:CVE-2026-109618、CVE-2026-109619技术分析与修复指南
网络安全·php·漏洞分析·漏洞修复·远程代码执行
paopaokaka_luck6 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
lzhdim7 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
SEO_juper8 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
代码丰9 小时前
跨系统传输大 JSON:直接压缩,还是把数据放进 Redis?
redis·后端·json
这个DBA有点耶10 小时前
2026年国产数据库“实际用户增长最快”核验指南:口径优先级、可查数据与选型动作清单
数据库·mysql·架构
程序员塔塔喵11 小时前
【MySQL篇|第三篇】脏读,幻读,不可重复读
数据库·mysql·不可重复读·幻读·脏读
大文说跨境11 小时前
亚马逊多店铺的图片素材怎么批量去重:EXIF 与哈希的处理流程
开发语言·php