2014-09-02 82 views
0

我有这个字符串在Ruby中有两个变量:红宝石#{}将换行符

INSERT INTO nodes (node, author) VALUES (#{line}, #{author}) 

但是红宝石抛出#{line}

...... VALUES(xxxxxxx 
, asdds) 

是的,我知道注入漏洞和诸如此类的东西后换行但是这只是我用我的开发机器上运行良好的数据。我不会这样做。

+0

总是转义这些值,它只是调用['Mysql2 :: Client#escape'](http://rubydoc.info/gems/mysql2/0.3.16/Mysql2/Client#escape -instance_method) – Stefan 2014-09-02 14:51:55

回答

2

听起来像lineauthor有前/后空白。尝试:

"... VALUES (#{line.strip}, #{author.strip})" 
+0

是的,就是这样,奇怪,因为我从数据库表中获取节点,它肯定存储没有空白。不管怎么说,多谢拉!!!! – Killerpixler 2014-09-02 14:21:19