0
我在將eRuby腳本連接到我的MySQL數據庫時遇到問題。通過eRuby連接到MySQL的問題
我寫了一個簡短的測試腳本,剛參加工作了初始連接錯誤:
<%
require 'mysql'
begin
dbh = Mysql::new("localhost", "test", "wahssf", "amg")
rescue Mysql::Error => e
print "Error code: #{e.errno}<br />"
print "Error message: #{e.error}<br />"
print "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
ensure
dbh.close if dbh
end
%>
現在,只要我保持的連接參數爲亂碼(「測試」,「wahssf」,「 AMG「),該腳本將默認Mysql::Error
類,並打印以下瀏覽器:
Error code: 1045
Error message: Access denied for user 'test'@'localhost' (using password: YES)
Error SQLSTATE: 28000
但是,一旦我把真正的連接值並重新加載頁面,腳本失敗(因爲某些原因)和?我收到HTTP 500 Internal Server Error
。
我完全不知道是什麼問題。只要用戶名/密碼組合錯誤,腳本「有效」但顯然不能連接,但只要我給它正確的憑據,它就會失敗。
任何想法?
另外,值得一提的是:當我通過在命令提示符處通過irb
逐行輸入它來執行此腳本時,它可以工作。它只有似乎成爲eRuby中的一個問題。
生命體徵: 的Apache 2.2.8在Fedora運行核心7 的MySQL 5.0 *(GEM mysql
版本2.8.1) 紅寶石1.9.2
服務器日誌中是否有任何內容?您也可以嘗試從命令行運行此代碼,並查看是否有錯誤輸出。 – 2011-04-08 02:47:10
'/ruby.rhtml:7:in'close':錯誤的參數類型Mysql(期望的結構)(TypeError)' 我試着向dbh添加一個query()方法,並返回相同的錯誤。 – 2011-04-08 03:17:53
如果你說'dbh = Mysql.new'而不是'dbh = Mysql :: new'會怎麼樣? – 2011-04-08 03:20:43