您好我尝试使用node.js中的pg对我的数据库执行INSERT但是我有一个 错误:列"年龄"不存在。
这是我的代码:
p = realloc(p, sizeof(*p) * 100);
这里是我的db:
app.post('/saving', function(req, res){
var age = req.param('Age');
var gender = req.param('gender');
//res.send(age + gender)
pool.connect(function(err, client, done){
if(err) {
return res.send('error')
}
client.query('INSERT INTO public.attack (age, gender) VALUES (age , gender)')
done()
})
})
答案 0 :(得分:2)
age
内的gender
和VALUES (age, gender)
将不会被定义。在这种情况下,您希望使用prepared statement(或更具体的参数化查询)来将变量与查询一起传递。
这可能类似于您想要的代码,我相信:
let sql = 'INSERT INTO public.attack (age, gender) VALUES ($1, $2)';
let params = [ age, gender ];
client.query(sql, params, function(err) {
// make sure you handle errors from here as well,
// including signaling `res` and `done`
});