0

我想将一个 json 对象数组作为长文本插入到单个 mysql 记录中,但不确定这是可能的。

json响应是这样的:-

stdClass Object
(
    [name] => Alex Xxx
    [title] => Head of Something
    [picture] => https://secure.gravatar.com/avatar/d19553c39a6b7d48decd50b3fe84a431?s=80&d=404
    [location] => Slough, United Kingdom
    [images] => Array
        (
            [0] => https://secure.gravatar.com/avatar/d19553c39a6b71?s=80&d=404
            [1] => http://m3.licdn.com/mpr/360b418.jpg
        )

    [provider] => srptv
    [email] => alex.xx@xx.com
)

我想将此作为文本添加到记录中。我试过这个,但它只在字段中插入一个数字 1。

$apiresult = mysql_real_escape_string(print_r(json_decode($jsonresponse)));
$mysql = "UPDATE `test` SET `first_api_pass_response`  = '$apiresult' WHERE `data_content` = '$data_content'";
$addresults = mysql_query($mysql);

有任何想法吗?

谢谢

乔纳森

4

2 回答 2

3

只需将其保存为数据库中的 JSON 即可。

$apiresult = mysql_real_escape_string($jsonresponse);
$mysql = "UPDATE `test` SET `first_api_pass_response`  = '$apiresult' WHERE `data_content` = '$data_content'";
$addresults = mysql_query($mysql);

并在您输出数据时检索它(我假设$row您在循环中检索到的行或其他内容):

json_decode($row['first_api_pass_response']);
于 2013-07-02T08:28:32.967 回答
1

print_r直接打印 - 你需要使用

$apiresult = mysql_real_escape_string(print_r(json_decode($jsonresponse),1));

print_r输出返回给变量

http://php.net/manual/en/function.print-r.php第二个参数是返回参数

于 2013-07-02T08:28:34.517 回答