我还不清楚使用 Sequel 运行原始 SQL 查询的正确方法。
目前我正在尝试这个:
DB.fetch("SELECT * FROM zone WHERE dialcode = '#{@dialcode}' LIMIT 1") do |row|
@zonename = row
end
我怎样才能将查询作为原始 SQL 运行,然后像平常一样访问结果?
if @zonename.name = "UK"
最佳答案
请注意,而不是:
DB.fetch("SELECT * FROM zone WHERE dialcode = '#{@dialcode}' LIMIT 1")
你应该这样做:
DB.fetch("SELECT * FROM zone WHERE dialcode = ? LIMIT 1", @dialcode)
否则,如果您不控制 @dialcode
的内容,您将面临 SQL 注入(inject)。
关于sql - 如何使用 Sequel 运行原始 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3144813/