gpt4 book ai didi

php - 处理 JSON 格式的 POST 请求

转载 作者:可可西里 更新时间:2023-11-01 00:57:10 32 4
gpt4 key购买 nike

我正在尝试处理来自网络服务的 POST 请求。它正在发送一个 HTTP POST 请求,如下所示:

{
"latitude":"12.232",
"longitude":"123.323"
}

它正在发布到我服务器上的一个 PHP 文件。我知道它肯定会击中文件。但是,我没有得到数据。

在我的 PHP 中,我有这个(遗漏了一堆东西:

$json = file_get_contents('php://input');
$obj = json_decode($json);
$mine ="sixteen"; //using this for a test

$sql = "INSERT INTO rr_emergency (random) VALUES('$obj');";
$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);

这不会改变我的数据库。

如果我这样做:

$sql = "INSERT INTO rr_emergency (random) VALUES('$mine');";

然后,每次网络服务调用我的 PHP 时,“16”都会添加到我表格中新行的正确位置。这就是我知道我正在接收数据的方式。

注意:我试图简单地将 $obj 添加到我的表中,只是为了在我尝试正确解析它并将所有内容放在它所属的位置之前查看返回的数据格式。

我在这里做错了什么?我认为问题出在此处 ($json = file_get_contents('php://input');),但不确定还可以尝试什么。

谢谢。

最佳答案

所以有几个问题

$obj = json_decode($json);

这将返回一个对象。你想要一个数组

$obj = json_decode($json, true);

那你的PDO不对

$sql = "INSERT INTO rr_emergency (random) VALUES(:val);";
$prep = $dbh->prepare($sql);
foreach($obj as $row) $prep->execute([':val' => $row]);

这将正确插入您的数据(使用准备好的语句)并循环遍历 JSON 返回数据

关于php - 处理 JSON 格式的 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38339891/

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