今天我开始学习瘦身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() .'}}';
}
});
答案 0 :(得分:2)
来自网址:http://localhost/MyRest/index.php/updateScore?id=1&score=36
您正在将参数作为查询字符串发送。因此它不会进入post
方法。你需要get
方法。
请改变:
$allPostVars = $app->request->post();
对此:
$allPostVars = $app->request->get();