Вставка в таблицу mysql в ruby - PullRequest
0 голосов
/ 03 ноября 2011

У меня есть таблица и программа телефонной книги, которую я получаю от пользователей и вставляю в таблицу, но из-за того, что я использую две переменные: первую и вторую для информации о пользователях, я не могу вставить их в таблицу. мой код ниже:

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

, пожалуйста, помогите мне решить эту проблему.

Ответы [ 3 ]

2 голосов
/ 03 ноября 2011

Если вы используете Rails, вы должны использовать ActiveRecord. Это то, что помогает вам вставлять, обновлять и извлекать данные из ваших таблиц.

То, что вы должны иметь, это:

def inserting
  first = gets
  second = gets

  Person.create(
    :first => first,
    :second => second
  )
end
1 голос
/ 03 ноября 2011

Вы должны использовать подготовленный оператор и привязку параметра:

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

но им немного не хватает деталей.

0 голосов
/ 03 ноября 2011

Вы получаете ошибку MySQL? Значения, вероятно, не попадают туда. Ваш запрос, вероятно, должен выглядеть примерно так:

"ВСТАВИТЬ В ЦЕННОСТИ ЛИЦА ('# {first},' # {second} ')"

Не очищено, хотя ..

...