環境是:紅寶石的MySQL返回#<MySQL的:0x000000016f3780>,而不是零
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
gem: mysql (2.9.1)
我想在紅寶石從MySQL提取數據。它看起來像這樣(在http://www.kitebird.com/articles/ruby-mysql.html找到)
def read_sql_host(hostname, mac)
hostname = "'" + "#{hostname}" + "'"
mac = "'" + "#{mac}" + "'"
res = dbh.query("SELECT macadd FROM basenode WHERE hostname = #{hostname}")
res.each do |row|
row = row.collect { |v| v.nil? ? "nil" : v }
return row[0]
end
dbh.close if dbh
end
現在 - 當我添加:
puts read_sql_host("node13.abit.dk", "00-11-22-33-44-55")
返回正確的事情:
[[email protected] cgi-bin]$ ruby use_sql.rb
50:e5:49:b0:50:1a
但是,當我問的東西,這是不在數據庫中:
puts read_sql_host("node66.abit.dk", "00-11-22-33-44-55")
它只是返回一些東西,我不知道如何改變?
[[email protected] cgi-bin]$ ruby use_sql.rb
#<Mysql:0x000000022f4818>
按照我的理解,它應該返回「nil」,如每個循環中所述?
任何幫助,將不勝感激:>
// M00kaw
感謝您的解釋:> 我會看看續集! – M00kaw