【发布时间】:2015-12-01 16:42:02
【问题描述】:
我知道这个问题被问了很多,我也研究过,相信我。
我有一个包含多个变量的 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_encode,而不是 decode。
-
@IsmaelFuentes 非常感谢,但这不是我的错,因为 php.net 手动翻译让我黯然失色 :(