我在Ruby中使用MySQL2来查询数据库。检查查询结果是否为空的直接方法是什么? 代码如下:
require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("SELECT * FROM users WHERE group='githubbers'")
答案 0 :(得分:9)
Mysql2
文档的确很差。但是通过检查results
的类型,您会注意到它是Mysql2::Result
,其中包含3种方法。您感兴趣的是count
(或别名size
),它将返回结果的行数。
从这里您可以轻松检查它是0
:
(results.count == 0)
或者,您可以打开Mysql2::Result
类并自行添加方法empty?
:
class Mysql2::Result
def empty?
(count == 0)
end
end
然后你可以这样做:
results.empty?
答案 1 :(得分:3)
0 == results.size
如果true
为空,将返回results
。 AFAIK没有直接的方法(例如Array#empty?
),但你可以修补它。