将Ruby Mysql查询转换为变量
我目前正试图找出如何将用户名作为ruby变量获取,但最终我得到了以下结果将Ruby Mysql查询转换为变量,mysql,ruby,mysql2,Mysql,Ruby,Mysql2,我目前正试图找出如何将用户名作为ruby变量获取,但最终我得到了以下结果 {"username"=>"test"} 我只想在这种情况下,它是测试用户名文本 client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "", :database =>"test") results = client.query("SELECT
{"username"=>"test"}
我只想在这种情况下,它是测试用户名文本
client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "", :database =>"test")
results = client.query("SELECT username FROM accounts").each do |row|
puts row [0]
end
您的代码可以使用,但不能使用mysql2。默认情况下,mysql2为每一行返回一个
哈希值
所以你可以
put行['username']
使用each(:as=>:array)
获得旧的行为
看
也许您可以简化代码:
results = client.query("SELECT username FROM Accounts").each(:as => :array)
puts results
这里的results
将是所有使用名称的数组
完整的工作计划:
require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "", :password => "",
:database =>"test")
results = client.query("SELECT * FROM Movie").each(:as => :array)
results.each { | row | puts row.join("\t") }
嘿@prnoo谢谢你的回复,我现在发现你的第二个选项有语法错误。有什么想法吗?刚刚添加了一个工作测试。我使用的是ruby 2.0.0p353(2013-11-22)[x86_64-linux]。祝你好运:-)