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

时间:2015-12-01 16:42:03

标签: 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();

...谢谢

1 个答案:

答案 0 :(得分:0)

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

len(15)