2014-09-02 108 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