私はいくつかのselectクエリを持つrubyスクリプトを書いています。スクリプトの最初に、新しいデータベース接続を初期化しています。
db = Mysql.new 'localhost', 'root', 'pass', 'mydb', 3308
最初の選択クエリは成功しますが、2番目のクエリに到達すると、次のエラーが発生します。
`query'の場合:query:not connected(Mysql :: Error)
各クエリの前に接続初期化行をコピーすることでこれを解決できますが、これがここでの正しい解決策であるとは本当に思いません。
ありがとう、李
私の完全なスクリプトを追加する(私はこれで新しいので、惨めなスタイルで申し訳ありません):(元のスクリプトをはるかに単純な再現に置き換えました):次のコードで、「SELECT」クエリをコメントアウトしてそのままにしておくと「INSERTINTO」クエリでは、すべてがうまく機能します。しかし、コードをそのまま実行しようとすると、上記のエラーが発生します。
#!/usr/local/bin/ruby -w
require "mysql"
dbname = "sample_db"
m = Mysql.new 'localhost', 'root', 'passw', 'sample_db', 3306
m.select_db(dbname)
m.query("CREATE TABLE words
(
german varchar(30),
english varchar(30),
french varchar(30)
)"
)
m.query("INSERT INTO words VALUES('Adler', 'eagle', 'aigle')")
results = m.query("SELECT german, english FROM words")
m.query("INSERT INTO words VALUES('Haus', 'house', 'maison')")
m.close