私はSilexプロジェクトでDoctrine QueryBuilderを使用しています。私は完全にユーザーの入力に基づいて、クエリを構築しています。パラメータはsetParameter()
関数でエスケープされます。でも、addSelect()
はどうですか?Doctrine QueryBuilder addSelect with user input
私はこれを把握することはできませんが、それはこのような何かを保存している:
$stmt = $this->conn->createQueryBuilder()
->addSelect("`".$userinputCol1."`")
->addSelect("`".$userinputCol2."`")
->from('`mytable`')
->where('id = :id')
->setParameter('id', $userinputId)
->execute();
これはSELECTでSQLインジェクションを防ぐためだろうか?
パラメータを使用できませんか? 'addSelect( ':userInputCol1')' – Veve
@Veve No.その後、一重引用符でエスケープされます – Timo002