在ruby中插入mysql表

时间:2011-11-03 16:10:10

标签: mysql ruby jruby

我有一个表和一个电话簿程序,我从用户那里获取信息并插入表中,但由于我使用两个变量first和second作为用户信息,我无法将它们插入表中。我的代码如下:

    def inserting
    first = gets
    second = gets
    @connect.query('INSERT INTO person VALUES(first,second)')
end

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

如果您正在使用Rails,则应使用ActiveRecord。这有助于您从表中插入,更新和检索数据。

你应该拥有的是:

def inserting
  first = gets
  second = gets

  Person.create(
    :first => first,
    :second => second
  )
end

答案 1 :(得分:1)

您应该使用预准备语句和参数绑定:

def inserting
    first  = gets
    second = gets
    stmt   = @connect.prepare('INSERT INTO person VALUES(?, ?)')
    stmt.execute(first, second)
    # Maybe some error checking would be a good idea too...
end

文档在这里:

  

http://rubydoc.info/gems/mysql/2.8.1/frames

但是,他们有点缺乏细节。

答案 2 :(得分:0)

您是否收到mysql错误?价值可能没有进入那里。您的查询应该更像是这样的:

“插入人员值('#{first},'#{second}')”

虽然没有消毒..