1

私はmysqlgemをインストールしましたが、最初のハードルに落ちています:

 initialize': wrong number of arguments(4 for 0) (ArgumentError)
 from open.rb:14:in `new' 
 from open.rb:14:in `<main>'

このコードの結果は次のとおりです。

 require 'mysql'

 db = Mysql.new('localhost','root','','test')
 puts db

私はこのチュートリアルのコードに従っていました:

http://rubylearning.com/satishtalim/ruby_mysql_tutorial.html

新しいメソッドは4つの引数を受け入れないようです。理由がわかりません。Mysql.newは、新しいオブジェクトを適切に作成します。

4

2 に答える 2

2

Mysql2gemを使用します。

gem install mysql2

それで:

require 'mysql2'
client = Mysql2::Client.new(:host => "localhost", :username => "root")
results = client.query("show databases")
results.each do |row|
  puts row["Database"]
end

詳細については、 gemのドキュメントをご覧ください。

HTH!

于 2012-06-15T22:46:27.140 に答える
0

14行目はあなたが宣言した行db = Mysql.new('localhost','root','','test')ですか?

私はちょうど開いirbて、gemをインストールし、あなたの行をコピーしました、そしてそれはうまくいきました-それは私に期待通りにMysqlオブジェクトを返しました。

あなたは経由で同じことを試みることができますirbか?mysql2ところで、代わりにgemをインストールすることをお勧めします。理由についての説明は次のとおりです。mysqlとmysql2gemの違いは何ですか。

于 2012-06-15T22:25:03.937 に答える