PHP从一个json字符串将多个记录插入mysql

时间:2018-08-06 08:41:14

标签: php mysql

$array = array(); 
foreach ($Addproduct_image as $row) { 
$array[] = '("' . mysql_real_escape_string($row["image"]) . '", ' . $row["color"] . ' , ' . $last_ID .')'; } 
$stmt1 = $this->con->prepare("INSERT INTO Product_img_col (image, color, pro_ID) VALUES '.implode(",", $array[])"); 
if ($stmt1->execute()) {return true;} else{return false;}

// Data to add.
{"name":"world","color":"world",($Default_Value)}]

我想将此数据添加到多行中。我认为我将必须对多行使用内爆函数,并在第三列“ $ default-value”中使用默认值。我的PHP不太好,有人可以帮忙吗

3 个答案:

答案 0 :(得分:0)

当您尝试将所有项目添加到查询中时,您需要从implode(",", $array[])中删除[],使其显示为implode(",", $array)

您可以尝试将echo "INSERT INTO Product_img_col (image, color, pro_ID) VALUES '.implode(",", $array[])");添加到页面中,以便获得可以在phpMyAdmin或类似版本中测试的查询。这应该可以帮助您进行调试。

如果color是一个字符串,则应该像处理图像一样将其真正放在引号中。

答案 1 :(得分:-1)

  • 使用http://leadersuae.ae从JSON获取php数组。

  • 对于数组中的每个元素,请使用json_decode将其再次转换为JSON,然后将其作为一行插入

答案 2 :(得分:-1)

def subPairs = (vPair: (Double, Double)) => vPair._1 - vPair._2
def subMean = (v: Vector) => Vectors.dense(v.toArray.zip(mean.toArray).map(subPairs))
 val stdData = rows.map(subMean)

JSON_File-employee_data.json

$connect = mysqli_connect("localhost", "root", "", "test");
$query = '';
$filename = "employee_data.json";
$data = file_get_contents($filename); //Read the JSON file in PHP
$array = json_decode($data, true); //Convert JSON String into PHP Array
foreach($array as $row) //Extract the Array Values by using Foreach Loop
{
      $query .= "INSERT INTO tbl_employee(name, gender, designation) VALUES ('".$row["name"]."', '".$row["gender"]."', '".$row["designation"]."'); ";  // Make Multiple Insert Query 
}

 if(mysqli_multi_query($connect, $query)) //Run Mutliple Insert Query
    {
         echo 'Imported JSON Data';
    }

有关更多详细信息,请参见下面的URL中的示例,它可能对您有帮助

https://www.webslesson.info/2016/04/get-multiple-json-data-insert-into-mysql-database-in-php.html