使用eRuby连接MySQL的问题

时间:2011-04-08 02:38:06

标签: mysql ruby linux fedora eruby

我在将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

%>

现在,只要我将连接参数保持为乱码(“test”,“wahssf”,“amg”),脚本默认为Mysql::Error类并将以下内容输出到浏览器:

Error code: 1045
Error message: Access denied for user 'test'@'localhost' (using password: YES)
Error SQLSTATE: 28000

但是,一旦我输入REAL连接值并重新加载页面,脚本就会失败(出于某种原因?),我得到HTTP 500 Internal Server Error

我完全不知道问题是什么。只要用户名/密码组合错误,脚本“工作”但显然无法连接,但只要我给它正确的凭据,就会失败。

有什么想法吗?

另外,值得一提的是:当我通过在命令提示符下通过irb逐行输入来执行此脚本时,它可以正常工作。只有似乎才是eRuby中的一个问题。

生命体征: Apache 2.2.8在Fedora Core 7上运行 MySQL 5.0。*(gem mysql版本2.8.1) Ruby 1.9.2

1 个答案:

答案 0 :(得分:0)

如果消息为Access denied,请检查用户名,密码,主机和端口!