it-swarm.com.ru

Как вставить массив JSON в базу данных MySQL

Привет, я пытаюсь вставить массив JSON в мою базу данных MySQL. Я передаю данные из моего iphone там, я преобразовал данные в формат json, и я передаю данные на свой сервер, используя URL-адрес, который не вставляется на мой сервер.

Это мои данные JSON.

[{ "Имя": "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);

   //}
   ?>

Код подключения к моей базе данных.

   <?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');
 ?> 

Пожалуйста, скажите, где я делаю что-то не так в приведенном выше коде, в основном я не php-разработчик, я разработчик мобильных приложений, поэтому я использую php в качестве сценариев на стороне сервера, пожалуйста, скажите мне, как решить эту проблему.

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

Я думаю, что вы передаете неправильную переменную. Вы должны передать $json в json_decode, как показано выше.

7
Amit

Нет такой переменной как $data. Пытаться

$obj = json_decode($json,true);

Отдых выглядит хорошо. Если ошибка все еще сохраняется, включите error_reporting.

4
web-nomad

Вам не хватает исходного файла 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);
}

?>
3
Ocpd Manxoloh