我在将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但是,一旦我输入真正的连接值并重新加载页面,脚本就会失败(因为某种原因?)我得到了一个HTTP 500 Internal Server Error。
我完全不知道问题出在哪里。只要用户名/密码组合是错误的,脚本“工作”,但显然不连接,但一旦我给它适当的凭据,它就失败了。
有什么想法吗?
另外,值得一提的是:当我在命令提示符上通过irb逐行输入这个脚本时,它就能工作了。这似乎只是eRuby中的一个问题。
简历:Apache2.2.8运行在Fedora 7 MySQL 5.0上。* (gem mysql版本2.8.1) Ruby1.9.2
发布于 2013-02-16 14:52:27
如果消息是Access denied,请检查用户名、密码、主机和端口!
https://stackoverflow.com/questions/5589825
复制相似问题