-1

我有来自 Web 服务的 JSON 数据,并使用将其解码为关联数组

$data = json_decode($postdata, true);

using print_r($data);

大批

(
  [0] => Array
        (
            [id] => 1
            [cityName] => London
            [cityState] => London
            [cityPopulation] => 8173194
            [country] => United Kingdom
        )

    [1] => Array
        (
            [id] => 2
            [cityName] => Bombay
            [cityState] => Maharashtra
            [cityPopulation] => 12478447
            [country] => India
        )

    [2] => Array
        (
            [id] => 3
            [cityName] => Kuala Lumpur
            [cityState] => Federal Territory
            [cityPopulation] => 1627172
            [country] => Malaysia
        )

    [3] => Array
        (
            [id] => 4
            [cityName] => New York
            [cityState] => New York
            [cityPopulation] => 8336697
            [country] => United States
        )

    [4] => Array
        (
            [id] => 5
            [cityName] => Berlin
            [cityState] => Berlin
            [cityPopulation] => 3538652
            [country] => Deutschland
        )

)

我想将每四个数组的 id、cityName、cityName、cityState、cityPopulation、country 中的每一个插入到现有的 mysql 数据库中。

4

2 回答 2

2
$db = new PDO(...);
$query = $db->prepare("INSERT INTO mytable "
         ."(id, cityName, cityState, citypopulation,country) "
         ."VALUES (:id, :cityName, :cityState, :cityPopulation, :country)");

foreach ($data as $entry){
    foreach ($entry as $column => $value){
      $query->bindParam(':' . $column, $value);
    }
    $query->execute($entry);
}

或者类似的东西...

于 2013-07-26T16:51:07.363 回答
0

您可以将其编码为字符串。查看 messagePack ( http://msgpack.org/ )。这是一种非常轻量级的编码。

于 2013-07-26T16:50:18.127 回答