[英]postgresql error: column "" does not exist in where clause
我正在尝试检查电子邮件是否已经存在,并且我正在电子邮件参数中发送daniyal@gmail.com ,但收到错误列“daniyal”不存在。
ctx.app.pool.query("SELECT * FROM users WHERE email = " + ctx.request.body.email, (err, result) => {
if (err) {
ctx.body = {
status: 500,
message: 'Something went wrong'
};
console.log('Query Error: ', err);
throw err
} else {
ctx.body = {
exceptions: "",
status: 200,
error: false,
message: "user already exists with this email",
};
}
});
您的直接问题是您在传递的值周围缺少单引号(因此,Postgres 将其视为列名)。
但是为此,您确实希望使用参数化查询,以提高安全性和效率
ctx.app.pool.query(
"SELECT * FROM users WHERE email = ?",
[ctx.request.body.email],
function(err, result) => {
if (err) {
ctx.body = {
status: 500,
message: 'Something went wrong'
};
console.log('Query Error: ', err);
throw err
} else {
ctx.body = {
exceptions: "",
status: 200,
error: false,
message: "user already exists with this email",
};
}
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.