我在node.js app中有以下功能:
if (parameters.hasOwnProperty("brand-param") && parameters["brand-param"] !='') {
codes.readCodes(function(allCodes) {
然后调用函数readCodes并在函数内查询db:
readCodes: function(callback) {
var pool = new pg.Pool(config.PG_CONFIG);
pool.connect(function(err, client, done) {
if (err) {
return console.error('Error acquiring client', err.stack);
}
client
.query(
`SELECT brand_code FROM public.voucher_codes WHERE brand_name=${parameters.hasOwnProperty("brand-param")} `,
function(err, result)
如何使用WHERE部分的“brand-param”内容查询数据库?
先谢谢。
答案 0 :(得分:1)
必须将parameters
中定义的变量apps.js
传递给readCodes
函数,才能在查询中使用它。
brand_name
的检查不正确。它错过了使用single quotes
并且参数值本身不正确。
if (parameters['brand-param'] && parameters['brand-param'].length) {
codes.readCodes(parameters, function(allCodes) {
readCodes: function(parameters, callback) {
var pool = new pg.Pool(config.PG_CONFIG);
pool.connect(function(err, client, done) {
if (err) {
return console.error('Error acquiring client', err.stack);
}
client.query(
`SELECT brand_code FROM public.voucher_codes WHERE brand_name='${parameters['brand-param']}' `,
function(err, result)