Javascript 使用PHP将JSON插入MySQL表

Javascript 使用PHP将JSON插入MySQL表,javascript,php,mysql,json,Javascript,Php,Mysql,Json,我需要使用PHP将Javascript对象插入到新的MySQL表中。我的对象的格式如下: { rowA:[A1,A2,A3], rowB:[B1,B2,B3], rowC:[C1,C2,C3], } 我还有一个列名数组: $columns = array("col1","col2","col3"); 我需要使用这些数据以以下格式创建和填充MySQL表: col1 col2 col3 rowA A1 A2 A3 rowB B1 B2 B3 rowC

我需要使用PHP将Javascript对象插入到新的MySQL表中。我的对象的格式如下:

{
  rowA:[A1,A2,A3],
  rowB:[B1,B2,B3],
  rowC:[C1,C2,C3],
}
我还有一个列名数组:

$columns = array("col1","col2","col3");
我需要使用这些数据以以下格式创建和填充MySQL表:

      col1 col2 col3
rowA  A1   A2   A3
rowB  B1   B2   B3
rowC  C1   C2   C3
我可以访问我的服务器并创建一个表,但仍然不确定如何处理JSON:

$str = file_get_contents('barchartData/US-HI.json');
$json = json_decode($str, true);
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "CREATE TABLE testTable (
   // not sure how to specify column, row, and cell values from the JSON...
)";

我对PHP相当陌生,还没有能够在PHP中读取JSON键并将其设置为MySQL行值的代码工作。

正如前面的评论中所提到的,我建议解决这个问题。表创建不应该是一个问题,因为值不是来自JSON文件

让我们从验证JSON文件开始。你可以使用一个在线工具。 请看下面的代码,您可以将其与当前脚本分开运行。 这不是最优雅的解决方案,但我认为它将帮助您更好地理解解决方案

<?php

echo '<pre>';  // For testing purposes.

// Convert the array to comma separated values as is 
// required by the MySQL insert statement.
$fields          = array("col1","col2","col3");
$imploded_fields = implode(',', $fields);

$json            = '{"rowA":["A1","A2","A3"], "rowB":["B1","B2","B3"], "rowC":["C1","C2","C3"]}';
$decoded         = json_decode($json);

foreach ($decoded as $d) {

    $values  = implode(',', $d);
    $statement =  "INSERT INTO `table` ($imploded_fields) VALUES ($values)";

    echo $statement; // Change this to actually execute the statement
}

正如前面的评论中提到的,我建议将问题分开。表创建不应该是一个问题,因为值不是来自JSON文件

让我们从验证JSON文件开始。你可以使用一个在线工具。 请看下面的代码,您可以将其与当前脚本分开运行。 这不是最优雅的解决方案,但我认为它将帮助您更好地理解解决方案

<?php

echo '<pre>';  // For testing purposes.

// Convert the array to comma separated values as is 
// required by the MySQL insert statement.
$fields          = array("col1","col2","col3");
$imploded_fields = implode(',', $fields);

$json            = '{"rowA":["A1","A2","A3"], "rowB":["B1","B2","B3"], "rowC":["C1","C2","C3"]}';
$decoded         = json_decode($json);

foreach ($decoded as $d) {

    $values  = implode(',', $d);
    $statement =  "INSERT INTO `table` ($imploded_fields) VALUES ($values)";

    echo $statement; // Change this to actually execute the statement
}

看看
var_dump(json_decode($json))
您认为可以在数据库中添加什么以及如何添加?您希望插入JSON(如标题中所示)还是希望使用JSON创建一个表并填充它?因此我基本上做到了这一点,并且在导入之后我知道了我的php数组的结构,但我不太擅长在中使用关联数组PHP@RobertJSON键名指定行标题,键值指定单元格值。我建议将这两个问题分开。一个是关于创建表格数组$columns。这与JSON文件无关。第二个是关于填充它。只需看看
var_dump(json_decode($json))
您认为可以在数据库中添加什么以及如何添加?您希望插入JSON(如标题中所示)还是希望使用JSON创建一个表并填充它?因此我基本上做到了这一点,并且在导入之后我知道了我的php数组的结构,但我不太擅长在中使用关联数组PHP@RobertJSON键名指定行标题,键值指定单元格值。我建议将这两个问题分开。一个是关于创建表格数组$columns。这与JSON文件无关。第二个是关于填充它。我认为它可以更程序化,但我投票给罗伯茨答案。我认为它可以更程序化,但我投票给罗伯茨答案。