0

我正在使用 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。我正在尝试将它用于查询,但我不能。我找不到正确的语法来使它工作。ja如果我在查询中替换为 64 ,则查询和代码通常可以正常工作。我尝试了类似的语法,p_id=(ja)但我不断收到类似undefiendor的错误ja is not a column in a table

什么是正确的语法?

谢谢

4

1 回答 1

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) {});
于 2013-07-18T04:53:08.360 回答