PHP - 数据库中的JSON空值

时间:2017-02-14 19:49:04

标签: php json rest

我是php的新手。我不想创建json服务,它将负责在数据库中保存注册表单值。问题是,它在数据库中保存空值。问题是我无法理解如何从json获取值并将它们保存在数据库中

php code

<?php

// Include confi.php
include_once('confi.php');


if($_SERVER['REQUEST_METHOD'] == "POST"){
    // Get data
    $name = isset($_POST['name']) ? mysql_real_escape_string($_POST['name']) :'';
    $email = isset($_POST['email']) ? mysql_real_escape_string($_POST['email']) : '';
    $password = isset($_POST['pwd']) ? mysql_real_escape_string($_POST['pwd']) : '';
    $status = isset($_POST['status']) ? mysql_real_escape_string($_POST['status']) : '';

    // Insert data into data base
    $sql = "INSERT INTO `test`.`users` (ID,`name`, `email`, `password`, `status`) VALUES (NULL,'$name', '$email', '$password', '$status');";
    $qur = mysql_query($sql);
    if($qur){
        $json = array("status" => 1, "msg" => "Done User added!");
    }else{
        $json = array("status" => 0, "msg" => "Error adding user!");
    }
}else{
    $json = array("status" => 0, "msg" => "Request method not accepted");
}
@mysql_close($conn);

/* Output header */
    header('Content-type: application/json');
    echo json_encode($json);

使用post方法

发送值
{
    "name":"aamir",
    "email":"a@a.com",
    "pwd":"12345678",
    "status":"yes"
}

This is the result 我已经按照这个链接 https://trinitytuts.com/build-first-web-service-php/

1 个答案:

答案 0 :(得分:0)

从我的观点来看,客户端 - 服务器交互存在问题。 PHP没有解析JSON数据,它只适用于url编码的值。 所以,你的$ _POST变量是空数组。

要获取JSON格式的值,您应该使用

$post = json_decode(file_get_contents('php//input'), true));