SQL ruby 错误
SQL Error with ruby
require 'mysql2'
SCHEDULER.every '2h', :first_in => 0 do |job|
# MySQL connection
db = Mysql2::Client.new(:host => "host", :username => "username", :password => "password", :port => port, :database => "database" )
sql = "select count(*) from tickets where department_id = 6;"
tickets_sql = db.query(sql)
puts tickets_sql
#Send Events
send_event('tickets_sql', {current: tickets_sql})
end
我正在使用 puts
命令,因此我可以在我的日志文件中看到输出。此命令的输出是一条错误消息,即:#<Mysql2::Result:0x000000025546a8>
这个错误是什么意思?
我采用了与代码中完全相同的查询,并在数据库中 运行 它并按预期输出数字。
这不是错误消息,它是一个对象 (Mysql2::Result
)。你可以给 count(*)
和别名(在它后面放 as smth
)并作为 tickets_sql.first['smth']
访问(你可以使用 first
因为只有一行,否则你会得到一个集合,因此您应该使用 .each
、 遍历它,例如 ,以使用 puts
).
输出检索到的行
require 'mysql2'
SCHEDULER.every '2h', :first_in => 0 do |job|
# MySQL connection
db = Mysql2::Client.new(:host => "host", :username => "username", :password => "password", :port => port, :database => "database" )
sql = "select count(*) from tickets where department_id = 6;"
tickets_sql = db.query(sql)
puts tickets_sql
#Send Events
send_event('tickets_sql', {current: tickets_sql})
end
我正在使用 puts
命令,因此我可以在我的日志文件中看到输出。此命令的输出是一条错误消息,即:#<Mysql2::Result:0x000000025546a8>
这个错误是什么意思?
我采用了与代码中完全相同的查询,并在数据库中 运行 它并按预期输出数字。
这不是错误消息,它是一个对象 (Mysql2::Result
)。你可以给 count(*)
和别名(在它后面放 as smth
)并作为 tickets_sql.first['smth']
访问(你可以使用 first
因为只有一行,否则你会得到一个集合,因此您应该使用 .each
、 遍历它,例如 ,以使用 puts
).