简体   繁体   English

插入JSON数组到MySQL数据库

[英]insert json array into mysql database

Hi I'm trying to insert the json array into my MySQL database I'm new for this php development i have seen so many methods that all little confusing please help me out. 嗨,我正尝试将json数组插入到我的MySQL数据库中,这对于php开发来说是新手,我已经看到了很多方法,几乎​​没有什么困惑,请帮帮我。

This is my json data. 这是我的json数据。

[{"name":"0","phone":"dsf","city":"sdfsdf","email":"dsf"},{"name":"13123123","phone":"sdfsdfdsfsd","city":"sdfsf","email":"13123123"}] [{ “Name”: “0”, “手机”: “DSF”, “城市”: “sdfsdf”, “电子邮件”: “DSF”},{ “名”: “13123123”, “手机”:“sdfsdfdsfsd ”, “城市”: “sdfsf”, “电子邮件”: “13123123”}]

I want to inset this json array into my mysql database so i have used this code its not working please tell me how to make it done. 我想将此json数组插入到我的mysql数据库中,所以我使用了此代码,但无法正常工作,请告诉我如何完成此操作。 My php code. 我的PHP代码。

<?php 

  $json = file_get_contents('php://input');
  $obj = json_decode($data,true);
  $obj[0]['name'];
  $obj[1]['phone'];
  $obj[2]['city'];
  $obj[3]['email'];

 //Database Connection
  require_once 'db.php';

 /* insert data into DB */
      mysql_query("INSERT INTO `db512172115`.`trial` (name, phone, city, email) 
      VALUES ('".$obj->{'name'}."', '".$obj->{'phone'}."', '".$obj->{'city'}."', '".$obj->{'email'}."')");

 //database connection close
   mysql_close($con);

   //}
  ?>

This above code only have used to store the values into my database please help me out to resolve this problem. 上面的代码仅用于将值存储到我的数据库中,请帮助我解决该问题。

Thanks. 谢谢。

Within your json_decode function you've specified 'true', this will make return an array. 在json_decode函数中,您已指定'true',这将使返回数组。

You're then trying to access this information as an object, which won't work. 然后,您尝试将这些信息作为对象访问,这将无法正常工作。 Plus the fact that you are given two arrays back would suggest that you're going to need a foreach statement to insert both pieces of data in to the database. 再加上返回两个数组的事实,这表明您将需要一个foreach语句才能将这两个数据插入数据库中。

Have another look in to foreach statements and arrays, there's plenty of information around to give you a hand. 再看看foreach语句和数组,周围有很多信息可以帮助您。

For example: 例如:

$array = json_decode($data,true);

foreach($array as $item) {
    mysql_query("INSERT INTO `db512172115`.`trial` (name, phone, city, email) 
  VALUES ('".$item['name']."', '".$item['phone']."', '".$item['city']."', '".$item['email']."')");

}

To add on to this, you're using a deprecated mysql_* function, you should look in to using mysqli or PDO for increased security. 除此之外,您正在使用不推荐使用的mysql_ *函数,应该考虑使用mysqli或PDO来提高安全性。

This is another easy way 这是另一种简单的方法

<?php
    $json_value = file_get_contents('your_json_data_link');
    $array = json_decode($json_value,true);
    require_once 'db.php';
    foreach($array as $item) {
        $insert_value = "INSERT INTO `db512172115`.`trial` (name, phone, city,email)VALUES 
        ('".$item['name']."', '".$item['phone']."', '".$item['city']."', '".$item['email']."')");

        if ($con->query($insert_value ) === TRUE) {
            echo "Record Successfully<br>";
        }
        else
        {
            echo "Error: " . $insert_value . "<br>" . $con->error;
        }
    }
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM