2012-06-29 3 views
1

получить в моем PHP скрипт JSON строку, которая выглядит следующим образом (массив с любыми объектами):Анализировать JSON в MySql

[ 
    { 
     "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?

+0

@Araraport проверить ответ :-) – Vimalnath

+0

Я думал, что просто ответил это где-то еще – zinking

ответ

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), чтобы сделать операции с базами данных , Проверить here

+0

Спасибо, vimalnath. Код имеет небольшие ошибки, но это именно то, что я искал. – Astraport

1

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