是否可以将完整的json数组插入到单个mysql记录中

时间:2013-07-02 08:25:05

标签: php mysql json

我想将json对象数组作为longtext插入到单个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
)

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

$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);

有什么想法吗?

谢谢

乔纳森

2 个答案:

答案 0 :(得分: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']);

答案 1 :(得分: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第二个参数是一个返回参数