我正在尝试完成使用PDO类的预备语句。我的具体问题是,为了上帝的缘故,我无法将WHERE子句之后的:val转换为引发SQL语句所需的引号。我已经尝试了它以及quote()函数,但似乎没有任何工作,我很确定我错过了一些但我无法找到它。声明不能是错误,因为我直接在我的数据库中测试它并且它有效 这是我的代码:
public function find($column, $value){
$stmt = $this->connection->prepare("
SELECT *
FROM benutzer
WHERE $column = :val
");
//$stmt->bindParam(":col", $this->connection->quote($column), PDO::PARAM_STR);
$stmt->bindValue(":val", $this->connection->quote($value), PDO::PARAM_STR);
$stmt->execute();
// Set the fetchmode to populate an instance of 'User'
// This enables us to use the following:
// $user = $repository->find(1234);
// echo $user->firstname;
$stmt->setFetchMode(PDO::FETCH_CLASS, 'User');
return $stmt->fetch();
}
编辑:正如我所提到的,我没有找到一个完全满足我的需求的答案。问题是我尝试过在可靠社区找到的所有不同方法,但没有一个方法可以帮助我。