4

我在 Ruby 中使用 MySQL2 来查询数据库。检查查询结果是否为空的直接方法是什么?代码如下所示:

require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("SELECT * FROM users WHERE group='githubbers'")
4

2 回答 2

11

Mysql2文档确实很差。但是通过检查results你会发现它是一个Mysql2::Result包含 3 个方法的类型。您感兴趣的是count(或 alias size),它将返回结果的行数。

从这里您可以轻松检查它是否是0

(results.count == 0)

或者,您可以打开Mysql2::Result类并empty?自己添加方法:

class Mysql2::Result
    def empty?
        (count == 0)
    end
end

然后你可以这样做:

results.empty?
于 2013-07-24T14:22:54.637 回答
3
0 == results.size

true如果results为空,将返回。AFAIK 没有直接的方法(例如Array#empty?),但是您可以对其进行修补。

于 2013-07-24T13:58:11.440 回答