无法在Slim PHP中发布参数

时间:2016-02-16 16:00:31

标签: php mysql slim

今天我开始学习瘦身php,以便我可以开始发布并将数据保存到mysql。而我现在遇到的问题是我尝试使用下面的示例代码与此网址http://localhost/MyRest/index.php/updateScore?id=1&score=36 但无法发送参数。如果可能,您会向我提供样品或小费吗?我很乐意听到你的消息!

$app->post('/updateScore', function() use($app){
    $allPostVars = $app->request->post();
    $score = $allPostVars['score'];
    $id = $allPostVars['id'];

    try 
    {
        $db = getDB();

        $sth = $db->prepare("UPDATE students 
            SET score = :score 
            WHERE student_id = :id");

        $sth->bindParam(':score', $score, PDO::PARAM_INT);
        $sth->bindParam(':id', $id, PDO::PARAM_INT);
        $sth->execute();

        $app->response->setStatus(200);
        $app->response()->headers->set('Content-Type', 'application/json');
        echo json_encode(array("status" => "success", "code" => 1));
        $db = null;

    } catch(PDOException $e) {
        $app->response()->setStatus(404);
        echo '{"error":{"text":'. $e->getMessage() .'}}';
    }

});

1 个答案:

答案 0 :(得分:2)

来自网址:http://localhost/MyRest/index.php/updateScore?id=1&score=36

您正在将参数作为查询字符串发送。因此它不会进入post方法。你需要get方法。

请改变:

 $allPostVars = $app->request->post();

对此:

 $allPostVars = $app->request->get();

请参阅:http://docs.slimframework.com/request/variables/