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(*)and エイリアス (as smth後ろに置く) を指定して as にアクセスできtickets_sql.first['smth']ます (first行が 1 つしかないので使用できます。それ以外の場合はコレクションを取得するため、取得した行を で出力するなど.each、で反復処理する必要があります)。puts

于 2015-04-07T23:25:28.900 に答える