目前我有这个问题,问题是表名得到了一组引号(它是一个字符串),这使得服务器崩溃。
const update = 'the name of my column';
const UpdateQuery = `UPDATE scores
SET ${mysql.escape(update)} = ${mysql.escape(newValue)}
WHERE score_id = ${mysql.escape(singleScore.score_id)}`;
``` `mysql.escape()` 除了列名之外,其他都可以。
这是在注入变量后,如果我在console.log中记录查询得到的结果:
UPDATE scores
SET 'the name of my column' = 1
WHERE score_id = 1
3条答案
按热度按时间pdkcd3nj1#
泰米尔瓦南解决方案稍加改动就解决了这个问题
vsmadaxz2#
检查以下代码。可能有用,
根据你的询问,
${mysql.escape(update)}
包括值的单引号。xesrikrc3#
对于奇怪的mysql列名,不能在其周围加单引号。单引号将值转换为字符串。
在mysql中,backtick用于此。例如