如何将json数组插入mysql数据库

use*_*551 8 php mysql arrays json

嗨,我正在尝试将json数组插入我的MySQL数据库.我将数据从我的iphone传递到那里我将数据转换为json格式,并且我使用url将数据传递到我的服务器,而不是插入我的服务器.

这是我的json数据.

[{ "Name": "0", "手机": "DSF", "城市": "sdfsdf", "电子邮件": "DSF"},{ "名": "13123123", "手机":"sdfsdfdsfsd ", "城市": "sdfsf", "电子邮件": "13123123"}]

这是我的Php代码.

<?php 

 $json = file_get_contents('php://input');
 $obj = json_decode($data,true);

 //Database Connection
require_once 'db.php';

 /* insert data into DB */
    foreach($obj as $item) {
       mysql_query("INSERT INTO `database name`.`table name` (name, phone, city, email) 
       VALUES ('".$item['name']."', '".$item['phone']."', '".$item['city']."', '".$item['email']."')");

     }
  //database connection close
    mysql_close($con);

   //}
   ?>
Run Code Online (Sandbox Code Playgroud)

我的数据库连接代码.

   <?php

       //ENTER YOUR DATABASE CONNECTION INFO BELOW:
         $hostname="localhost";
         $database="dbname";
         $username="username";
         $password="password";

   //DO NOT EDIT BELOW THIS LINE
     $link = mysql_connect($hostname, $username, $password);
     mysql_select_db($database) or die('Could not select database');
 ?> 
Run Code Online (Sandbox Code Playgroud)

请告诉我在上面的代码中我做错了基本上我不是一个php开发人员我是移动应用程序开发人员所以我使用php作为服务器端脚本请告诉我如何解决这个问题.

Ami*_*mit 10

 $json = file_get_contents('php://input');
 $obj = json_decode($json,true);
Run Code Online (Sandbox Code Playgroud)

我认为你传递了错误的变量.你应该通过$jsonjson_decode如上图所示.


小智 5

您缺少 JSON 源文件。创建一个 JSON 文件,然后将其分配给 var 数据:

<?php

require_once('dbconnect.php');

// reading json file
$json = file_get_contents('userdata.json');

//converting json object to php associative array
$data = json_decode($json, true);

// processing the array of objects
foreach ($data as $user) {
    $firstname = $user['firstname'];
    $lastname = $user['lastname'];
    $gender = $user['firstname'];
    $username = $user['username'];

    // preparing statement for insert query
    $st = mysqli_prepare($connection, 'INSERT INTO users(firstname, lastname, gender, username) VALUES (?, ?, ?, ?)');

    // bind variables to insert query params
    mysqli_stmt_bind_param($st, 'ssss', $firstname, $lastname, $gender, $username);

    // executing insert query
    mysqli_stmt_execute($st);
}

?>
Run Code Online (Sandbox Code Playgroud)