You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL数据库中存储API返回的JSON响应并按JSON格式读取

实现方案

一、先修复现有存储逻辑的隐患

你当前直接拼接JSON字符串到SQL语句的写法有两个严重问题:

  • 如果返回的JSON内容中包含单引号',会直接导致SQL语法报错,存储失败
  • 存在SQL注入风险,一旦API返回的内容被恶意构造,会威胁数据库安全

推荐用预处理语句优化存储逻辑,代码示例:

$json_response = file_get_contents("api_url");
// 使用预处理语句避免注入和语法问题
$stmt = mysqli_prepare($conn, "UPDATE matchinfo SET jsondata = ?");
// 绑定参数,s代表字符串类型
mysqli_stmt_bind_param($stmt, "s", $json_response);
// 执行语句
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);

二、读取JSON格式数据的实现

因为你存储的就是原生JSON字符串,所以直接从数据库查询出jsondata字段的内容,不需要额外处理就是标准JSON格式,直接返回给前端即可。示例代码:

// 查询jsondata字段,可根据业务需求补充WHERE条件筛选对应行
$query = mysqli_query($conn, "SELECT jsondata FROM matchinfo LIMIT 1");
$row = mysqli_fetch_assoc($query);
// 输出前加上正确的Content-Type响应头,方便前端识别格式
header('Content-Type: application/json');
echo $row['jsondata'];

如果需要在服务端操作JSON内容,可以用json_decode($row['jsondata'], true)把JSON转为PHP数组使用。

内容的提问来源于stack exchange,提问作者shakky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:45:04