2

这是我的数组;

    $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。

这将如何完成?

4

1 回答 1

4

尝试这样的事情:

$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);
于 2012-05-31T20:03:31.577 回答