nodejs express mysql查询,带有“set@'”

gmol1639  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(398)

我正在开发nodejs/express应用程序。在我的路由中,我需要从mysql数据库查询数据。对于包含参数的查询,它可以正常工作,但有例外。任何不带参数的查询都按预期工作:

SELECT * FROM table WHERE col = 'b'

但下面的那个人回来了 undefined ```
SET @a = 'b'
SELECT * FROM table where col = @a

我在单独的函数中为查询生成字符串(不确定这是否有任何区别)。任何帮助都将不胜感激。
dgsult0t

dgsult0t1#

我想你可能在找 ? 占位符方法,如中所述
https://www.w3schools.com/nodejs/nodejs_mysql_where.asp

var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE address = ?';
con.query(sql, [adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});

还有多个占位符,作为数组传入:

var name = 'Amy';
var adr = 'Mountain 21';
var sql = 'SELECT * FROM customers WHERE name = ? OR address = ?';
con.query(sql, [name, adr], function (err, result) {
  if (err) throw err;
  console.log(result);
});

相关问题