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).

输出检索到的行