简体   繁体   English

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

[英]How to insert json array into mysql database

Hi I'm trying to insert the json array into my MySQL database.您好我正在尝试将 json 数组插入到我的 MySQL 数据库中。 I'm passing the data form my iphone there i have converted the data into json format and I'm passing the data to my server using the url its not inserting into my server.我正在从我的 iphone 传递数据,我已经将数据转换为 json 格式,并且我正在使用未插入到我的服务器的 url 将数据传递到我的服务器。

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

[{"name":"0","phone":"dsf","city":"sdfsdf","email":"dsf"},{"name":"13123123","phone":"sdfsdfdsfsd","city":"sdfsf","email":"13123123"}] [{"name":"0","phone":"dsf","city":"sdfsdf","email":"dsf"},{"name":"13123123","phone":"sdfsdfdsfsd ","city":"sdfsf","email":"13123123"}]

This is my Php code.这是我的 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);

   //}
   ?>

My database connection code.我的数据库连接代码。

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

Please tell where I'm doing wrong in the above code basically I'm not a php developer I'm mobile application developer so I'm using the php as a server side scripting please tell me how to resolve this problem.请告诉我在上面的代码中哪里做错了基本上我不是 php 开发人员我是移动应用程序开发人员所以我使用 php 作为服务器端脚本请告诉我如何解决这个问题。

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

I think you are passing the wrong variable.我认为你传递了错误的变量。 You should pass $json in json_decode as shown above.如上所示,您应该在json_decode传递$json

You are missing JSON source file.您缺少 JSON 源文件。 Create a JSON file then assign it to var data:创建一个 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);
}

?>

There is no such variable as $data .没有$data这样的变量。 Try尝试

$obj = json_decode($json,true);

Rest looks fine.休息看起来不错。 If the error still persists, enable error_reporting .如果错误仍然存​​在,请启用error_reporting

Its simple you can insert json datatype as below.它很简单,您可以插入 json 数据类型,如下所示。 reference link: click here for more details参考链接:点击此处了解更多详情

insert into sgv values('c-106', 'admin','owner',false,'[{"test":"test"}, 
{"test":"test"}]',0,'pasds');
<?php 
    if ( !empty($_POST)) { 
    
        $fname  = $_POST['fname'];
        $lname  = $_POST['lname'];
        $age    = $_POST['age'];
        $gender = $_POST['gender'];
      
  $file = file_get_contents('people.json');
  $data = json_decode($file, true);
  unset($_POST["add"]);
  $data["records"] = array_values($data["records"]);
  array_push($data["records"], $_POST);
  file_put_contents("people.json", json_encode($data));
  header("Location: index_crudjson.php");
    }
?>
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta name="description" content="tutorial-boostrap-merubaha-warna">
 <meta name="author" content="ilmu-detil.blogspot.com">
 <title>Tutorial CRUD  JSON DATA</title>
 <link rel="stylesheet" href="assets/css/bootstrap.min.css">
 <style type="text/css">
 .navbar-default {
  background-color: #3b5998;
  font-size:18px;
  color:#ffffff;
 }
 </style>
</head>
<body>
<nav class="navbar navbar-default">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>                        
      </button>
      <h4>Pusat Ilmu Secara Detil</h4>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
    </div>
  </div>
</nav>
<!-- /.navbar -->
<div class="container">
        <div class="row">
  <div class="col-sm-5 col-sm-offset-3"><h3>Create a User</h3>
        <form method="POST" action="">
   <div class="form-group">
    <label for="inputFName">First Name</label>
    <input type="text" class="form-control" required="required" id="inputFName" name="fname" placeholder="First Name">
    <span class="help-block"></span>
   </div>
   
   <div class="form-group ">
    <label for="inputLName">Last Name</label>
    <input type="text" class="form-control" required="required" id="inputLName" name="lname" placeholder="Last Name">
          <span class="help-block"></span>
   </div>
   
   <div class="form-group">
    <label for="inputAge">Age</label>
    <input type="number" required="required" class="form-control" id="inputAge" name="age" placeholder="Age">
    <span class="help-block"></span>
   </div>
    <div class="form-group">
     <label for="inputGender">Gender</label>
     <select class="form-control" required="required" id="inputGender" name="gender" >
      <option>Please Select</option>
      <option value="Male">Male</option>
      <option value="Female">Female</option>
     </select>
     <span class="help-block"></span>
          </div>
    
   <div class="form-actions">
     <button type="submit" class="btn btn-success">Create</button>
     <a class="btn btn btn-default" href="index_crudjson.php">Back</a>
   </div>
  </form>
        </div></div>        
</div>
</body>
</html>

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

header("Access-Control-Allow-Origin: http://localhost/rohit/");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST");
header("Access-Control-Max-Age: 3600");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");

//files needed to connect to database
include_once 'config/database.php';
include_once 'objects/main.php';

//get Database connection
$database = new Database();
$db = $database->getConnection();

//instantiate product object
$product = new Product($db);

//get posted data
$data = json_decode(file_get_contents("php://input"));

//set product property values
$product->b_nm = $data->Business_Name;
$product->b_pno = $data->Business_Phone;
$product->b_ads = $data->Business_Address;
$product->b_em = $data->Business_Email;
$product->b_typ = $data->Business_Type;
$product->b_ser = $data->Business_Service;

$name_exists = $product->nameExists();

if($name_exists){

    echo json_encode(
            array(
                "success"=>"0",
                "message" => "Duplicate Record Not Exists."

            )
        );

}   else{

        if($product->b_nm != null && $product->b_pno != null && $product->b_ads != null && $product->b_em != null && $product->b_typ != null && $product->b_ser != null){

                if($product->create()){
                //set response code
                http_response_code(200);

                //display message: Record Inserted
                echo json_encode(array("success"=>"1","message"=>"Successfully Inserted"));
            }

        }   
        else{

            //set response code
            http_response_code(400);

            //display message: unable to insert record
            echo json_encode(array("success"=>"0","message"=>"Blank Record Not Exists."));
        }
    }
$string=mysql_real_escape_string($json);

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

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