gpt4 book ai didi

javascript - 错误 : there is no parameter $1

转载 作者:行者123 更新时间:2023-11-29 13:33:02 26 4
gpt4 key购买 nike

当我尝试使用 node-postgres 运行此代码时出现“错误:没有参数 $1”客户:

app.post('/newcause', function (req,res){
console.log(req.body);

var g;

var r = [];

for (g in req.body)
{
r[g]=req.body[g];
console.log('r[g] is ' + r[g]);
}

client = pg.connect(connectionString, function(err, client, done){
if(err) console.log(err);
client.query('INSERT INTO causes (cause_name, goal, organization, sponsor, submitter) VALUES ($1,$2,$3,$4,$5)', r, function(err){
console.log('This is r' + r)
if (err) console.log(err);
});
});
});

有什么建议吗?

PS,这是完整的错误声明:

{ [error: there is no parameter $1]
name: 'error',
length: 87,
severity: 'ERROR',
code: '42P02',
detail: undefined,
hint: undefined,
position: '81',
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
file: 'parse_expr.c',
line: '812',
routine: 'transformParamRef' }

最佳答案

执行查询的错误意味着 r 没有被正确填充。明确用户输入是值得的,这样您的系统就不会在下游(在查询中)而不是在问题根源处引发错误:

app.post('/newcause', function (req,res){
console.log(req.body);

var g;

var r = [];

r.push(req.body.causename, req.body.Goal, req.body.Organization, req.body.sponsor, req.body.submitterEmail);

client = pg.connect(connectionString, function(err, client, done){
if(err) console.log(err);
client.query('INSERT INTO causes (cause_name, goal, organization, sponsor, submitter) VALUES ($1,$2,$3,$4,$5)', r, function(err){
console.log('This is r' + r.toString())
if (err) console.log(err);
});
});
});

还值得一提的是,在帖子提交中标准化您的变量名称大小写可能是个好主意。

关于javascript - 错误 : there is no parameter $1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com