[英]API-call JSON into MySQL
我正在研究一个项目,我们想将JSON文件(通过API调用)插入mysql数据库。 我找到了多个示例,但由于存在多个对象和数组,所以我不知道从哪里开始。 第二个问题是列和行是单独的数组(我认为吗?)。
我们的目标是(每天,每小时等)填充一个看起来像这样的数据库(这是一个示例,我们确实有多个项目):
-----------------------------------
| Date | Value2 | Value3 | Value4 |
-----------------------------------
| 01-01-2015 | 123 | 1234 | 12345 |
-----------------------------------
| 02-01-2015 | 343443 | 4w3543422 | fref4rw4 |
-----------------------------------
| 03-01-2015 | 234422r | wrfrw3434 | 2432rfr42324 |
-----------------------------------
问题是如何从JSON中获得这些值(这不是静态的:有时会有7天,有时更少,有时更多)? 从哪里开始?
@Marmik的代码可以解决问题!
<?php
$array = json_decode($json_data,true);
$sql_inserts = array();
foreach($array['reportitem']['rows']['r'] AS $row)
{
$sql_inserts[] = "('".$row[c][0]."','".$row[c][1]."','".$row[c] [2]."','".$row[c][3]."')";
}
$insert_values = implode("'",$sql_inserts);
$sql = "INSERT INTO table_name (date,Value2,Value3,Value4) $insert_values ;";
?>
我认为在将JSON解码为PHP Array后使用foreach循环可以解决问题。
<?php
$array = json_decode($json_data,true);
$sql_inserts = array();
foreach($array['reportitem']['rows']['r'] AS $row)
{
$sql_inserts[] = "('".$row[c][0]."','".$row[c][1]."','".$row[c][2]."','".$row[c][3]."')";
}
$insert_values = implode("'",$sql_inserts);
$sql = "INSERT INTO table_name (date,Value2,Value3,Value4) $insert_values ;";
?>
并且此SQL语句由JSON数组的数据创建。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.