检查Rest API中是否存在记录


Check if record exist in Rest API?

我正在编写Rest API,我对INSERT / UPDATE / DELETE的方法有疑问。特别是在执行上述任何方法之前,我想检查URI中传递的记录是否存在:

endpoints/api/user/{id}

现在我的想法是把所有的东西都放在我用这样一种方法扩展PDO函数创建的层中:

public function getWhere($table, $where)
{
    return $this->exec("SELECT * FROM $table WHERE $where");
}

如果记录已被找到或未被找到,则适当地返回truefalse。但我想知道这种方法对sql injection是否安全。我还想知道在更新或添加记录之前,是否有其他方法可以查看记录是否存在。我认为我的API将变成类似一百个模型的东西,所以我需要一个有效的解决方案来轻松地在任何模型中使用。

不要用自己的方法扩展PDO类,认为这会有所帮助。它没有,请阅读你的第一个数据库包装的儿童疾病。

使用正常准备的语句为特定id获取一行,如:

$stmt = $dbh->prepare('SELECT columns FROM users WHERE id = ?');
/* work with $stmt */