I am using MySQL2 in Ruby to query a database. What is a direct way to check whether the result of a query is empty? The code looks like:
require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("SELECT * FROM users WHERE group='githubbers'")
The Mysql2 documentation is indeed very poor. But by inspecting the type of results you will notice that it is a Mysql2::Result which contains 3 methods. The one that you are interested in is count (or alias size) which will return the number of rows of the result.
From here you can easily check if it is 0:
(results.count == 0)
Alternatively you could open the Mysql2::Result class and add the method empty? yourself:
class Mysql2::Result
def empty?
(count == 0)
end
end
And then you can just do:
results.empty?
0 == results.size
will return true if results is empty. AFAIK there is no direct method (such as Array#empty?) , but you could monkey patch it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With