mariadb 仅更新1个用户的数据,(NodeJS,MySQL)

aelbi1ox  于 7个月前  发布在  Mysql
关注(0)|答案(1)|浏览(61)

我试图创建一个表单,让用户更改他们的名称和密码,不幸的是,我遇到了一个语法错误。
你可以在下面看到我的代码和错误信息。

// Multiple '?' not working, SQL syntax error
db.query('UPDATE users SET name = ?, password = ? WHERE email = ?', { name: newName, password: hashedNewPassword, email: email }, (error, results) => {
   console.log(results);
   if(error) {
      console.log(error);
   } else {
      res.status(200).redirect("/");
   }
})

代码:'ER_PARSE_DIR',错误号:1064,sqlMessage:“您的SQL语法有错误;检查与您的MariaDB服务器版本对应的手册,以获得正确的语法来使用near '?其中email =?“在第1行”,

amrnrhlw

amrnrhlw1#

假设您使用mariadb包,我相信您的语法应该是

db.query('UPDATE users SET name = ?, password = ? WHERE email = ?', [newName, hashedNewPassword, email]...

也就是说,替换值应该是一个与?顺序相同的数组。

相关问题