0
私は、 "abc"のような文字列であるrequestからの検索パラメータを持っています。今私はsqlsを構築し、この変数参照をsqls内で使用したいと思います。ScalalikeJdbcでSQLクエリを構築するときのSQLSyntax内の変数参照
val searchValue = "abc"
sqls"column_name ILIKE '%$searchValue%'"
しかし、これはを動作しませんでした:私はアプローチの下に試してみました。それから、私は安全でない下のアプローチで試しました。
val searchValueSqls = SQLSyntax.createUnsafely(searchValue)
sqls"column_name ILIKE '%$searchValueSqls%'"
これがうまく働いたが、ドキュメントはは言う、「SQLインジェクションの脆弱性に注意してください。」
可変参照をsqls内で達成するための安全なアプローチはありますか?
もう1つの方法は、sqls.likeを使用して同様の操作を行うことです。
ただし、は大文字と小文字を区別しませんか?ILIKEは、赤方偏移に対して大文字と小文字を区別しません。
多分 'sqls" column_name ILIKE '%$ {searchValue}%' "'? – mfirry
すべて正常に動作します。https://scastie.scala-lang.org/optician/VLzFbqQwQxaCGAfWqiIu7w Plz、バージョンとエラーを指定してください。 – Zernike