【发布时间】:2018-09-04 09:13:53
【问题描述】:
我正在尝试以苗条的方式发出postrequest,我的意图是将数据插入到 mysql 数据库中。这是我第一次尝试这样做,如果我不能很好地解释自己,请见谅。
这是我所拥有的:
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
require "classes/Autoloader.php";
$app = new \Slim\App;
$app->post('/', function(Request $request, Response $response) use ($app) {
$postVars = $request->getParsedBody();
$id = $request->getAttribute('id');
$steps = $request->getAttribute('steps');
$date = $request->getAttribute('date');
echo $id . $steps . $date;
require_once "classes/Connection.php";
$userdata = new Insert($dbh, $id, $steps, $date);
$userdata->insert();
});
$app->run();
我的意图是获取值,并使用它们插入数据,但我不断收到 Slim 的“找不到页面”错误。这是我正在尝试的网址:http://localhost/wp-api/?id=1&steps=12&date=8787。
我做错了什么,或者这是正确的方法吗?
提前致谢!
编辑: 按照 Justal 的回答,我在第 10 行更改了代码; $app->post('/'... 具体来说。我现在得到Method not allowed. Must be one of: POST
Edit2:我更改了第 12 行 (getQueryParams -> getParsedBody) ,并使用了 Postman,否则 broswer 会执行 getrequest(上一个错误的来源)。不过,它现在将 null 值插入到数据库中。
【问题讨论】:
-
你的网址应该是
localhost/1/12/8787 -
@Justinas
wp-api是它所在的文件夹!