Doctrineを使用して準備済みのSQL文を作成しようとしています。 もし私のハードコードそれが働いているSQLクエリの値:PDOExceptionが発生する理由:SQLSTATE [42000]
public function search()
{
$sql = 'SELECT `name` FROM `files` WHERE `name` = "myfile.exe"';
$query = $this->conn->prepare($sql);
$status = $query->execute();
$searchResult = $query->fetchAll();
$searchResult = array(
'service' => $searchResult,
'status' => $status
);
$searchResult = $this->conn->fetchAll($sql);
return $searchResult;
}
しかし、私はそれは、私のPDOException与えないパラメータで値を渡すためにしようとした場合:SQLSTATE [42000]
をpublic function search()
{
$sql = 'SELECT `name` FROM `files` WHERE `name` = :service';
$query = $this->conn->prepare($sql);
$query->bindValue(":service", "myfile.exe");
$status = $query->execute();
$searchResult = $query->fetchAll();
$searchResult = array(
'service' => $searchResult,
'status' => $status
);
$searchResult = $this->conn->fetchAll($sql);
return $searchResult;
}
私が間違っていることを理解できません。ドキュメントhttp://doctrine-orm.readthedocs.io/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html
を見てみると
SQLコマンドラインから直接SQL文を実行してみましたか?また、これはちょうど純粋なDoctrineコードですか、あるいはLaravelやSymfonyのようなPHPフレームワークを使用していますか? –