# Errors in mysql + ruby connection

**URL:** <https://www.ruby-forum.com/t/errors-in-mysql-ruby-connection/82732>\
**Category:** Ruby\
**Created:** [January 20, 2007, 2:31am UTC](https://www.ruby-forum.com/t/errors-in-mysql-ruby-connection/82732 "2007-01-20T02:31:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![rawroe](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/94ad74/32.png) [@rawroe](https://www.ruby-forum.com/u/rawroe)\
**Post date:** [January 20, 2007, 2:31am UTC](https://www.ruby-forum.com/t/errors-in-mysql-ruby-connection/82732/1 "2007-01-20T02:31:36Z")

</div>

Hi folks -  
After getting my installation worked out, I’m having an error in my test  
code that I just don’t understand. I am running on OS X (PowerPC).

Ruby 1.8.4  
mySQL 5.0.27

I’m using DBI to access the database, borrowing code from the Ruby  
Cookbook. The connection routine:

####################################################################  
dbconnect.rb:  
####################################################################  
#!/usr/bin/ruby -w

require ‘rubygems’  
require ‘dbi’

def with\_db  
DBI.connect(“DBI:Mysql:iskme\_import:localhost”, “ISKME”,  
“oerportal”) do |c|  
yield c  
end  
end

And my test code:

####################################################################  
#!/usr/bin/ruby -w

require ‘pp’  
require ‘dbconnect’

# sql = “SELECT \* FROM AddItems”

sql = "INSERT INTO AddItems(type, iskme\_id, native\_id, title, url,  
institution, collection, submitter) " +  
“VALUES (‘C’,‘C000000299634946873’, ‘11’, ‘Too High for the  
Supermarket’, +  
" ‘[http://www.diamondw.net/index.html](http://www.diamondw.net/index.html)’, " +  
" ‘The Uninvited’, ‘13 Ways to Feel the Love’,  
‘andyw’)”

with\_db do |c|  
c.execute(sql).each do |row|  
pp [“GOT:”, row]  
end  
print “found #{rows} rows\n”  
end

If I run the INSERT statement, I get this error:  
/usr/local/lib/ruby/site\_ruby/1.8/DBD/Mysql/Mysql.rb:601:in `fetch': undefined method `fetch\_row’ for nil:NilClass (NoMethodError)  
from /usr/local/lib/ruby/site\_ruby/1.8/dbi.rb:659:in `fetch' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:684:in `each’  
from dbtest.rb:14  
from ./dbconnect.rb:9:in `with_db' from /usr/local/lib/ruby/site_ruby/1.8/dbi.rb:429:in `connect’  
from /usr/local/lib/ruby/site\_ruby/1.8/dbi.rb:214:in `connect' from ./dbconnect.rb:8:in `with\_db’  
from dbtest.rb:11

BUT, the record gets inserted (I use phpMyAdmin to administer the DB,  
and I see the record). I just can’t figure out what’s happening here.  
All help will be greatly appreciated.

Thanks,  
Andy
