Вопрос по json, mysql, php – Разобрать JSON в mySQL

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"
    }
]

Как я могу сохранить каждый объект JSON в этом массиве с записью в MySQL?

Я думал, что только что ответил на это где-то еще zinking
@Астрапорт проверь ответ :-) Vimalnath

Ваш Ответ

2   ответа
6

<?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 (PDO). ПроверьтеВот

Спасибо, Вималнатх. В коде есть небольшие ошибки, но это именно то, что я искал. Astraport
1

а затем создайте оператор вставки, используя значения массива

Похожие вопросы