#!/usr/local/bin/ruby require "mysql2" require "watir" require "csv" Mysql2::Client.default_query_options.merge!(:as => :array) mysql = Mysql2::Client.new(:host => "1.2.3.4", :username => "usr", :password => "pass123", :database => "db") db = "db" puts "Please enter all `table`.`column` pairs you wish to select from; separated by a comma and space." tCP = gets.chomp.split(", ") dynQ = "SELECT " tCP.each {|pair| dynQ << (db + "." + pair + ", ") } puts "Please enter the `table` you wish to select from:" tF = db + "." + gets.chomp dynQ = dynQ.chop!.chop! + " FROM " + tF + " LIMIT 10;" report = mysql.query(dynQ) begin report = mysql.query(dynQ) report.each {|row| puts row} puts "Query Successful!" rescue Mysql2::Error => e puts e.errno puts e.error puts "Please re-nter all `table`.`column` pairs separated by, ', '." tCP = gets.chomp!.split(", ") dynQ = "SELECT " tCP.each {|pair| dynQ << (db + "." + pair + ", ") } tF = db + "." puts "Now re-enter the `table` to select `FROM`:" tF << gets.chomp! dynQ = dynQ.chop!.chop! + " FROM " + tF + " LIMIT 10;" retry end /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:107:in '_query': Table 'db.table_dne' doesn't exist (Mysql2::Error) from /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:107:in 'block in query' from /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:106:in 'handle_interrupt' from /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:106:in 'query' from file.rb:23:in '
' /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:107:in '_query': Unknown column 'db.table_dne' doesn't exist (Mysql2::Error) from /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:107:in 'block in query' from /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:106:in 'handle_interrupt' from /Users/guy/.rvm/gems/ruby-2.3.0/gems/mysql2-0.4.2/lib/mysql2/client.rb:106:in 'query' from file.rb:23:in '
'