【问题标题】:Parse JSON to mySQL将 JSON 解析为 mySQL
【发布时间】:2012-06-29 07:21:45
【问题描述】:

我的 PHP 脚本 JSON 字符串如下所示(包含任何对象的数组):

[
    {
        "source":"symbols/2/2.png",
        "ypos":133,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":252,
        "depth":5,
        "height":159,
        "xpos":581
    },
    {
        "source":"symbols/2/2.png",
        "ypos":175,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":258,
        "depth":3,
        "height":163,
        "xpos":214
    },
    {
        "color":"0",
        "ypos":468.38,
        "fontSize":28,
        "xpos":156.95,
        "rotation":0,
        "type":"MyTextArea",
        "width":268.05,
        "depth":7,
        "height":244.62,
        "fontFamily":"Verdana Bold",
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28"
    }
]

我如何将这个数组中的每个 JSON 对象与 mySQL 中的记录一起保存?

【问题讨论】:

  • @Astraport 检查答案 :-)
  • 我以为我只是在其他地方回答了这个问题

标签: php mysql json


【解决方案1】:

试试这个:

<?php
$json = '[
    {
        "source":"symbols/2/2.png",
        "ypos":133,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":252,
        "depth":5,
        "height":159,
        "xpos":581
    },
    {
        "source":"symbols/2/2.png",
        "ypos":175,
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28",
        "rotation":0,
        "type":"MyImage",
        "width":258,
        "depth":3,
        "height":163,
        "xpos":214
    },
    {
        "color":"0",
        "ypos":468.38,
        "fontSize":28,
        "xpos":156.95,
        "rotation":0,
        "type":"MyTextArea",
        "width":268.05,
        "depth":7,
        "height":244.62,
        "fontFamily":"Verdana Bold",
        "template":"8B82CA47-41D2-D624-D6A2-37177CD82F28"
    }
]';
//create a DB connection
con = mysql_connect("localhost","username","password");
mysql_connect _db('your_database',$con);


$result = json_decode($json);
foreach($result as $key => $value) {
    if($value) {

            //how to use json array to insert data in Database
        mysql_query("INSERT INTO tablename (source, ypos, template) VALUES ($value->source, $value->ypos,$value->template)");
    }
    mysql_close($con);
}

注意:但建议使用 PHP Data Objects(PDO) 进行数据库操作。 检查here

【讨论】:

  • 谢谢你,vimalnath。代码有一些小错误,但这正是我想要的。
【解决方案2】:

使用json_decode,然后使用数组的值构造插入语句

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 1970-01-01
    • 2019-09-15
    • 2023-04-10
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多