Php 删除功能在本地主机上工作,但在Web上不工作

Php 删除功能在本地主机上工作,但在Web上不工作,php,slim,Php,Slim,我做了一个函数来删除数据库中的一个对象。当我测试这个函数时,它在localhost上工作,但是在网站上不工作。有人知道如何解决这个问题吗? 附言:我用的是Slim $app->delete('/places/:id', 'authenticate', function($place_id) use($app) { global $user_id; $db = new DbHandler(); $response =

我做了一个函数来删除数据库中的一个对象。当我测试这个函数时,它在localhost上工作,但是在网站上不工作。有人知道如何解决这个问题吗? 附言:我用的是Slim

$app->delete('/places/:id', 'authenticate', function($place_id) use($app) {
            global $user_id;

            $db = new DbHandler();
            $response = array();
            $result = $db->deletePlace($user_id, $place_id);
            if ($result) {
                $response["error"] = false;
                $response["message"] = "Place deleted succesfully";
            } else {

                $response["error"] = true;
                $response["message"] = "Place failed to delete. Please try again!";
            }
            echoRespnse(200, $response);
        });

public function deletePlace($user_id, $place_id) {
        $stmt = $this->conn->prepare("DELETE p FROM places p, user_places up WHERE p.id = ? AND up.place_id = p.id AND up.user_id = ?");
        $stmt->bind_param("ii", $place_id, $user_id);
        $stmt->execute();
        $num_affected_rows = $stmt->affected_rows;
        $stmt->close();
        return $num_affected_rows > 0;
    }

DELETE p FROM places p
似乎是SQL中的语法错误

$stmt = $this->conn->prepare(
    "DELETE FROM places p, user_places up WHERE p.id = ? AND up.place_id = p.id AND up.user_id = ?"
);
为了避免将来丢失这些错误,我建议将错误模式设置为
PDO::ERRMODE_EXCEPTION

$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

如果它在一个地方有效,但在另一个地方无效。这可能不是代码。这是许可或其他环境因素。PHP错误日志通常有助于了解发生了什么。请查看错误日志。