[英]How to insert json array into mysql database
您好我正在尝试将 json 数组插入到我的 MySQL 数据库中。 我正在从我的 iphone 传递数据,我已经将数据转换为 json 格式,并且我正在使用未插入到我的服务器的 url 将数据传递到我的服务器。
这是我的 json 数据。
[{"name":"0","phone":"dsf","city":"sdfsdf","email":"dsf"},{"name":"13123123","phone":"sdfsdfdsfsd ","city":"sdfsf","email":"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 作为服务器端脚本请告诉我如何解决这个问题。
$json = file_get_contents('php://input');
$obj = json_decode($json,true);
我认为你传递了错误的变量。 如上所示,您应该在json_decode
传递$json
。
您缺少 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);
}
?>
没有$data
这样的变量。 尝试
$obj = json_decode($json,true);
休息看起来不错。 如果错误仍然存在,请启用error_reporting
。
它很简单,您可以插入 json 数据类型,如下所示。 参考链接:点击此处了解更多详情
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'); $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.