小编典典

从jSon数组获取值并执行sql插入

sql

这是我的数组;

    $json = '
{
    "1":{
        "Device_ID":"a9a3346be4375a92",
        "Date":"2012-05-31",
        "Time":"15:22:59",
        "Latitude":"51.4972912",
        "Longitude":"0.1108178"
    },
    "2":{
        "Device_ID":"a9a3346be4375a92",
        "Date":"2012-05-31",
        "Time":"15:52:07",
        "Latitude":"51.4988357",
        "Longitude":"0.1222859"
    }
}';

它的解码方式如下: $array = json_decode($json);

我现在尝试将上述数组中的所有$ items插入数据库;所以我想在一条记录中存储1内的所有数据,并在第二条记录中存储2内的所有值。

我的想法是我永远不会知道数组的大小,所以它可能有100个$ items。

怎么办呢?


阅读 181

收藏
2021-04-22

共1个答案

小编典典

尝试这样的事情:

$item_array = json_decode($json, true);
$insert_query = "INSERT INTO items (column1,column3) VALUES ";
$i = 0;
$array_count = count($item_array);

foreach($item_array as $item) {
 $end = ($i == $array_count) ? ';' : ',';
 $insert_query .= "('".$item['date']."','".$item['device_id']."')" . $end;
 $i ++;
}

mysql_query($insert_query);

结果查询如下所示:

INSERT INTO items (column1,column3) VALUES ('asdf',123),('asdfe',1234);
2021-04-22