gpt4 book ai didi

mysql - 如何在 Ruby On Rails 的 MySQL 选择中使用 '?' 符号?

转载 作者:行者123 更新时间:2023-11-28 23:37:15 25 4
gpt4 key购买 nike

我需要在我的 Rails 4.2 应用程序中获得 MySQL 全文搜索的针对性。所以我需要在 select 子句中使用别名(相关性)。

问题是使用'?'符号在 where 子句中,但在选择中:

Model.select("articles.*, MATCH (name) AGAINST (? IN BOOLEAN MODE) AS pertinence", @search).where(...).order("pertinence DESC")

如果我这样做:

Model.select('articles.*, MATCH (name) AGAINST ("' + @search + '" IN BOOLEAN MODE) AS pertinence').where(...).order("pertinence DESC")

我在@search(未清理)和 SQL 注入(inject)中遇到引号问题。

那么如何使用 Active Record 执行此类查询?

谢谢

最佳答案

您可以手动清理搜索参数。

search_param = ActiveRecord::Base::sanitize(@search)

Model.select("articles.*, MATCH (name) AGAINST (#{search_param} IN BOOLEAN MODE) AS pertinence").where(...).order("pertinence DESC")

关于mysql - 如何在 Ruby On Rails 的 MySQL 选择中使用 '?' 符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com