複数の値を1つの列に照会するための値を結合する際に問題があります。ここで私はこれまで得たものです:Rails - find_by_sql - 1つのフィールドに複数の値を照会する
への問い合わせを行うdef self.showcars(cars)
to_query = []
if !cars.empty?
to_query.push cars
end
return self.find_by_sql(["SELECT * FROM cars WHERE car IN (?)"])
end
:
SELECT * FROM cars WHERE car IN (--- \n- \"honda\"\n- \"toyota\"\n')
find_by_sql sql_injection保護は余分な文字を追加するようです。これをどのように機能させるには?
私はカンマ区切りで結合しようとしましたが、これは - ( 'honda \'、\ 'toyota')です。ホンダ\が存在しないので、SQLインジェクションが蹴っているように見えますが、レコードがゼロになるようです。これを行う方法があるはずです。誰かがこれを経験したに違いありません。 – oprogfrogo