我在寫一個ruby腳本,它有幾個select查詢。 在我初始化一個新的數據庫連接的腳本的開頭:ruby:在單個查詢後關閉mysql關閉
db = Mysql.new 'localhost', 'root', 'pass', 'mydb', 3308
第一選擇查詢成功,但是當它到達第二個出現以下錯誤:
在'查詢':查詢:未連接(Mysql :: Error)
我可以通過在每個查詢之前複製連接初始化行來解決這個問題,但我真的不認爲這是正確的解決方案。
感謝, 李
添加我的完整的腳本(我在這個新的,爲可憐的風格很抱歉): (有一個更簡單的攝製取代了原來的腳本): 在下面代碼,如果我註釋掉「SELECT」查詢並只保留「INSERT INTO」查詢,那麼一切都很好。但是,如果我嘗試按原樣運行代碼,則會出現上述錯誤。
#!/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
你的意思是你需要寫每個查詢db = ...行?確保你沒有關閉連接之前第二個查詢... –
我不認爲我正在關閉連接..我編輯了問題,並添加了代碼 – user429400
寫入db = Mysql.new'localhost','root', '通','mydb',3308開始之前...我認爲它會工作然後... –