php - 如何在一个字段中存储一个 Json 数据?

标签 php mysql json implode

我知道这个问题已经被问了很多,我已经研究过了,相信我。

我有一个包含多个变量的 Json 文件。我想获取该 Json 文件并将其存储在 MySql 数据库的单个 BLOB 字段中。

我执行了 json_decode() 但当我尝试存储它时,PHP 给我一个错误,因为 json_decode() 返回一个 php 数组,但 bindParam 需要一个字符串变量。

我尝试了 implode(",", json_decode($data,true)) 但它没有用。

你能帮帮我吗...

我的 JSON 文件看起来像这样;

[
    { "xyz": "abc",
      "izd": 1
    },
    { "xyz": "abc",
      "izd": 1
    },
    { "xyz": "abc",
      "izd": 1
    }]

我的PHP代码是这样的;

$json = $_POST["jsonfile"];
$jsondata = json_decode($json,true);
$implodedjsondata = implode(",",$jsondata); // In here, php gets error in impode ( Error : Notice: Array to string conversion)

$Query = $conn->prepare("INSERT INTO table1(somedata) VALUES(:data)");

$Query->bindParam(':data',$implodedjsondata); // In case of not using implode, this line gets error( Error : Notice: Array to string conversion)
$Query->execute();

谢谢...

最佳答案

它已经是一个 json 了吗?不要对它做任何事情,按原样插入它。并使用 bindValue,当循环执行语句时需要快速更改大量数据时,bindParam 是一种优化。

$json = $_POST["jsonfile"];

$Query = $conn->prepare("INSERT INTO table1(somedata) VALUES(:data)");

$Query->bindValue(':data',$json); // In case of not using implode, this line gets error( Error : Notice: Array to string conversion)
$Query->execute();

关于php - 如何在一个字段中存储一个 Json 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34025473/

相关文章:

php - 如何清理包含有效 UTF8 字符的 XML 属性的表单字段?

php - 如何更改 WampServer 3 上的 www 根目录

php - SQL 能否返回有关查询中评估的不同条件的信息?或者我应该分成多个查询?

mysql - 有没有像 JSON Builder 这样的东西?

javascript - 使用 jqueryui 可排序从 ul li 与子级序列化

php - LinkedIn API OAuth 刷新 token

php - 连接中断的可能原因,LAMP堆栈

python - 将 python 日期时间与 mysql 日期时间进行比较

Json 字符串的 Javascript eval() 注入(inject)全局作用域函数

php - 如何在php中显示数据 View mysql