mysql - Ruby + mysql2 查询因变量而失败

标签 mysql ruby qtruby

使用 Ruby 2.0、Qt4 gem 和 Mysql2 gem。我需要比较两个 lineedit 的文本并用它们进行查询,到目前为止是失败的。

client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "123456", :database => "school")
# text of both lineedits saved into local variables
tName=@leName.text() 
tPass=@lePass.text()
#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"。我做错了什么?

编辑:如果您想知道,tName、tPass 是字符串,字段 usr_name 和 usr_pass 是 varchar(50)。

最佳答案

看起来您没有对变量进行插值。执行以下操作

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

关于mysql - Ruby + mysql2 查询因变量而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24175241/

相关文章:

mysql - 检查唯一值mysql的过程是什么

mysql - mysql添加具有相同ID号的列的数据

mysql - 动态禁用单选按钮并由于访问数据库中的列数据而出现错误

javascript - Linux OpenOffice 自动化

qtruby - Ruby Qt 文档

用于数据库功能的 PHP 前端类似于 Windows 中的文件权限

Ruby CSV - 尝试用双引号括起输出,得到 """Hello World """而不是 "Hello World"

ruby-on-rails - Rails 未找到异常通知程序插件

ruby - Ruby 中的 Qt Model/View 编程示例和教程

mysql - QtRuby 无法创建 QDate 来填充 QDateEdit