【问题标题】:Error: ER_BAD_FIELD_ERROR: Unknown column nodejs错误:ER_BAD_FIELD_ERROR:未知列 nodejs
【发布时间】:2020-03-29 20:52:30
【问题描述】:

我是一名新手程序员,正在开发一个带有登录系统的项目。我试图让密码更改工作但收到此错误:错误:ER_BAD_FIELD_ERROR:'字段列表'中的未知列'$2b$10$df6we4GJENF9t7xVTwFSu.H5.jBOX5lGc0NSArOrGV2NYIf2Dt3Ki'。 (这是我要存储到 mySQL 的散列密码)

这是我的更新声明:

 let query3 = 'UPDATE users SET `password`='+hash+' WHERE id='+id+';';

如果我只是手动说 SET 'password'="asd" 但它不适用于 +hash+

【问题讨论】:

  • 最好使用像sequlize这样的orm

标签: node.js


【解决方案1】:

您需要在哈希周围加上引号。

 let query3 = 'UPDATE users SET `password`="'+hash+'" WHERE id='+id+';';

【讨论】:

  • 啊,甜,就是这么简单。谢谢你好心的陌生人!
【解决方案2】:

问题是字符串插值。我建议你使用 template literals 来做这件事,这很好。

以反引号开头的模板文字可以包含由美元符号和花括号 ${} 指示的占位符

演示片段:

let hash = 'password';
let id = 'dude';

let query = `UPDATE users SET password = "${hash}" WHERE id = "${id}";`;

console.log(query);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2012-11-09
    • 2019-12-09
    • 2020-04-25
    • 2016-02-13
    相关资源
    最近更新 更多