我正在使用nodejs 0.10.12和pg模块2.2.0版。
现在,在服务器端,我有一个像
这样的代码var ja=message.utf8Data;
var query = client.query("SELECT pins.p_name FROM pins WHERE p_id = ja");
ja
是一个var,代表一个int,来自客户端,通过websockets。我正在尝试将它用于查询,但我不能。我找不到合适的语法来使它工作。如果我用例如64替换查询中的ja
,那么查询和代码一般都可以正常工作。
我尝试了类似p_id=(ja)
的语法,但我一直收到undefiend
或ja is not a column in a table
等错误。
什么是rigth语法?
由于
答案 0 :(得分:1)
client.query("SELECT pins.p_name FROM pins WHERE p_id ="+ja);
应该做的伎俩。由于它是通过套接字进入的,因此您可能需要对输入进行一些清理以防止注入攻击。 mysql-node模块具有良好的功能
connection.escape()
或者,
connection.query('SELECT ? FROM myTable',[ja],function(err,rows) {});