このクエリは、Dapperとの組み合わせでSQLインジェクションに対して安全ですか? もしそうでなければ、MySqlの下でそれを書く正しい方法は何でしょうか? または、コンカットを使用しないとより良いバージョンがありますか?大量のMySQLのLIKEクエリはSql Injectionに対して安全ですか?
string sql = "SELECT * from user_profile WHERE FirstName LIKE CONCAT("%",@name,"%");"
var result = connection.query<profile>(sql, new {name});
これは動作しますが、パターンの構造に関する以下の情報をサーバに提供し、発信者で連結を行うことです。これが部分文字列検索で重要かどうかは不明ですが、starts-with検索では間違いありません。 – usr
@usrそれをプロファイルするのは興味深いでしょう。他のRDBMSに悪影響を与えることはありません。 –
お返事いただきありがとうございます。 – Epstone