2013-07-17 31 views
0

我正在使用nodejs 0.10.12和pg模块,版本2.2.0。nodejs和pg模块 - 查询语法

现在,在服务器端我有一个像

var ja=message.utf8Data; 
var query = client.query("SELECT pins.p_name FROM pins WHERE p_id = ja"); 

ja是一个变种,代表一个int代码,来自客户端,通过WebSockets的。我试图用它来查询,但我不能。我无法找到正确的语法来使其工作。查询和代码一般工作正常,如果我在查询中用例如64替换ja。 我尝试了类似p_id=(ja)的语法,但是我总是收到像undefiendja is not a column in a table这样的错误。

什么是rigth语法?

感谢

+0

您需要使用的参数。 – SLaks

回答

1
client.query("SELECT pins.p_name FROM pins WHERE p_id ="+ja); 

应该做的伎俩。由于它是通过套接字进入的,因此您可能需要对输入进行一些消毒以防止注入攻击。 MySQL的节点模块具有该

connection.escape() 

或可替代的好功能,

connection.query('SELECT ? FROM myTable',[ja],function(err,rows) {}); 
+0

谢谢,它像一个魅力。 – slevin