1
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>

这个错误是什么意思?

我采用与代码中相同的确切查询并在数据库上运行它并按预期输出数字。

4

1 回答 1

1

这不是错误消息,它是一个对象 ( Mysql2::Result)。你可以给count(*)和别名(放在as smth它后面)和访问 as tickets_sql.first['smth'](你可以使用firstas 只有一行,否则你会得到一个集合,所以你应该用 迭代它.each例如,用 输出检索到的行puts)。

于 2015-04-07T23:25:28.900 回答