我知道这个问题已经被问了很多,我已经研究过了,相信我。
我有一个包含多个变量的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();
...谢谢
答案 0 :(得分:0)
它已经是一个json?不要做任何事情,按原样插入。并且使用bindValue,当循环执行语句时需要快速更改大量数据时,bindParam是一种优化方法。
len(15)