我知道这个问题已经被问了很多,我已经研究过了,相信我。
我有一个包含多个变量的 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/