将数据插入包含撇号的 varchar 时出错?

Error inserting data into varchar that contains apostrophe?

我有 ruby 脚本,其中包含一个 mysql 插入,该插入工作正常,直到它到达包含包含撇号的数据的行。此行也正在使用变量填充,我不确定如何转义字符以便插入成功。

有什么想法吗?

在连接对象上使用引用方法:

quote(value, column = nil)

API Documentation Link

引用列值以帮助防止 SQL 注入攻击。 示例:

my_name    = ActiveRecord::Base.connection.quote("John O'Neil")
my_address = ActiveRecord::Base.connection.quote("R'lyeh")

query = "INSERT INTO companies (name,address) VALUES (#{my_name}, #{my_address})"

ActiveRecord::Base.connection.execute(query);

原文Post:

看到这个post:Escaping a single quotation within SQL query