我编写了一个Ruby IRC bot,它在github上(/ ninjex/rubot),它在我刚刚购买的专用服务器上与MySQL有一些冲突的输出。Ruby MySQL输出在不同的服务器上冲突
首先,我们连接到MySQL文件夹(在.gitignore中)与以下代码块类似的数据库。
@con = Mysql.new('localhost', 'root', 'pword', 'db_name')
然后我们有一个实际的功能来查询数据库
def db_query
que = get_message # Grabs query from user i.e,./db_query SELECT * FROM words
results = @con.query(que) # Send query through the connection i.e, @con.query("SELECT * FROM WORDS")
results.each {|x| chan_send(x)} # For each row returned, send it to the channel via
end
在我的本地机器上,运行命令时:
./db_query SELECT amount, user from words WHERE user = 'Bob' and word = 'hello'
我收到在IRC输出像时尚一样的数组:["17", "Bob"]
其中17是金额,Bob是用户。
然而,在使用上我的专用服务器的测试结果相同功能,在这样的输出:17Bob
我试图在代码中的许多变化,以及尝试将数据解析到它自己的变量,但它似乎17Bob
来了作为一个单一的变量,使得它不可能解析成数组,然后我可以使用它来正确地发送数据。
这似乎很奇怪,我,我的本地计算机和专用服务器上,因为我期待的输出,首先发送17到IRC,然后鲍勃喜欢:
17
Bob
对于所有的功能和源你可以检查我的github/Ninjex/rubot,但是你可能需要安装一些宝石。
我为您创建了一个拉请求https://github.com/Ninjex/Rubot/pull/1,它公开了一些ruby语言,可以用来简化代码。它不完全是主题,但应鼓励你多一点探索标准库。 –
是的,大部分我在Ruby中首次编码时并不熟悉的成语。我承认,当Ruby对我而言是新手时,我开始了这个项目,而我则是从PHP编程而来的。然而,我不知道Ruby不需要返回关键字,很好。 感谢您的全力帮助,我期待修复大量多余的代码,并在本周末转换为mysql2。 – Singularity
如果您有任何疑问,请打我。我很乐意向您指出正确的方向。 –