From: Andrew Wallace Date: 2007-01-20T10:31:38+09:00 Subject: Errors in mysql + ruby connection 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', " + " '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 -- Posted via http://www.ruby-forum.com/.