gpt4 book ai didi

php - PHP MySQL JSON 中的 REST Web 服务 - 将空值插入数据库

转载 作者:行者123 更新时间:2023-11-29 11:53:11 25 4
gpt4 key购买 nike

我在 Google Chrome 上使用 Advanced Rest Client 来处理 POST 请求。一切正常,我什至收到消息用户已成功注册!,但在查看数据库时我看到的是,attributes的值即firstname尽管查询已成功发出,但 lastname 等只是空白。
怎么了 ?

create.php

<?php

require_once 'connect.php';


if($_SERVER['REQUEST_METHOD'] == 'POST'){
// Get post data`
$firstName = isset($_POST['firstname']) ? mysqli_real_escape_string($connection, $_POST['firstname']) : "";
$lastName = isset($_POST['lastname']) ? mysqli_real_escape_string($connection, $_POST['lastname']) : "";
$email = isset($_POST['email']) ? mysqli_real_escape_string($connection, $_POST['email']) : "";
$password = isset($_POST['password']) ? sha1(md5(mysqli_real_escape_string($connection, $_POST['password']))) : "";
$status = 0; // Here we set by default status In-active.
// Save data into database
$query = "INSERT INTO users (firstname,lastname,email,password,status) VALUES ('{$firstName}',
'{$lastName}','{$email}','{$password}','{$status}')";

$insert = mysqli_query($connection, $query);

if($insert){
$data = array("result" => 1, "message" => "User has been successfully registered!");
} else {
$data = array("result" => 0, "message" => "Error!");
}
}
else {
$data = array("result" => 0, "message" => "Incorrect Request Method!");
}

mysqli_close($connection);
/* JSON Response */
header('Content-type: application/json');
echo json_encode($data);
?>

Screenshots From The REST Client Screenshots From The REST Client

Screenshot From Database

最佳答案

将参数放入请求正文中,而不是 header 中。也许这是在 HTTP 客户端的“有效负载”部分完成的?另外,由于您是以 JSON 形式发送数据,因此是否需要对 PHP 中的 POST 数据进行 json_decode

尝试通过转储 $_POST 数组中的空白值来进行调试。

此外,您可能希望通过验证发送的数据来使后端更加健壮。例如,不要接受您收到的每个参数的 NULL 值。

关于php - PHP MySQL JSON 中的 REST Web 服务 - 将空值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com