2014-06-12 3 views
2

Ruby 2.0, Qt4 gem 및 Mysql2 gem에 대한 작업. 나는 두 개의 lineedit의 텍스트를 비교하고 지금까지의 실패 인 쿼리를 쿼리해야한다.Ruby + mysql2 쿼리가 변수와 함께 실패합니다.

client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "123456", :database => "school") 
# text of both lineedits saved into local variables 
[email protected]() 
[email protected]() 
#then 
res= client.query("SELECT usr_name, usr_pass, usr_tipo FROM user WHERE usr_name = tName AND usr_pass = tPass") 

유일하게 실패한 것은 해당 쿼리입니다. 전역 변수 (@tName, @tPass)로 로컬 변수를 넣으려고했거나 # {}에 넣으려고했는데, tName과 tPass라는 테이블 사용자의 열을 검색하면 그 변수를 ''에 넣으려고했으나 tName이라는 사용자 만 검색하십시오.

쿼리가 usr_name = "text inside tName"을 검색하도록합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

EDIT : 궁금한 사항이 있으면 tName, tPass는 문자열이고 usr_name 및 usr_pass 필드는 varchar (50)입니다.

답변

1

변수를 보간하지 않은 것 같습니다. 다음을 수행하십시오

res= client.query("SELECT usr_name, usr_pass, usr_tipo 
        FROM user 
        WHERE usr_name = '#{tName}' AND usr_pass = '#{tPass}'") 
+0

감사합니다. 참으로 '# {tName}'전체가 누락되었습니다. – Juank

관련 문제