我是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/
答案 0 :(得分:0)
从我的观点来看,客户端 - 服务器交互存在问题。 PHP没有解析JSON数据,它只适用于url编码的值。 所以,你的$ _POST变量是空数组。
要获取JSON格式的值,您应该使用
$post = json_decode(file_get_contents('php//input'), true));