当前位置: 首页 > news >正文

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";
}

相关文章:

  • 基于STM32、HAL库的W25X40CLSNIG NOR FLASH存储器驱动应用程序设计
  • 【回眸】香橙派Zero2 超声波模块测距控制SG90舵机转动
  • 2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛初赛-wp
  • 某团小程序mtgsig,_token 生成逻辑分析
  • AWS WebRTC如何实现拉流?内部是这样实现的
  • QuecPython+Aws:快速连接亚马逊 IoT 平台
  • STM32--GPIO
  • ffmpeg录音测试
  • k8s node soft lockup (内核软死锁) 优化方案
  • <论文>(字节跳动)使用大语言模型进行时间序列理解和推理
  • Nginx 安全防护与HTTPS部署
  • 2025 RSAC|大语言模型应用风险与厂商攻防新策略
  • 【coze】故事卡片(图片、音频、文字)
  • 游戏引擎学习第261天:切换到静态帧数组
  • 瑞克的CTF
  • MySQL中的约束
  • 赛灵思 XCZU11EG-2FFVC1760I XilinxFPGAZynq UltraScale+ MPSoC EG
  • 第一章-语言基础\3.STL
  • https://juejin.cn/editor/drafts/7262346366541070395
  • 高性能网络优化:深入解析忙轮询(Busy Polling)技术
  • 夜读丨永不掉电的陪伴
  • 国台办:不管台湾地区领导人讲什么,都改变不了台湾是中国一部分的地位和事实
  • 长三角哪些城市爱花钱?这个城市令人意外
  • 马上评|去年维修竣工的鼓楼,今年就“瀑布式落瓦”
  • 半年不到再换岗:伊春市委常委、政法委书记方春彪任伊春森工集团党委书记
  • 两名游客刻划八达岭长城,被拘5日罚200元