【问题标题】:Check if user already exist in MySql database in Node.js在 Node.js 中检查用户是否已存在于 MySql 数据库中
【发布时间】:2021-12-27 08:38:08
【问题描述】:

我是 Node.js 和 SQL 编程的新手,如果用户已经存在于数据库中,我遇到了一个不知道如何获取的问题。我试图检查if (selectUsername.length = username),但没有成功。我还尝试使用来自previous post in stackoverflow 的版本

 const selectUsername = conn.query("SELECT username FROM user WHERE username= "+ username, function (err, row){
        if (row && row.length) {
          console.log('Case row was found!');
        } else {
            console.log('No case row was found :( !', err);
        }
      })

用户名是一个变量,我从表单中插入了用户名。 我总是在“where子句”中收到错误未知列“用户名” 我有一个注册表单,我想检查一个用户是否已经存在,所以数据库中没有多个用户,这样如果用户已经存在,我可以显示错误。

【问题讨论】:

  • 您在用户名周围缺少引号,因此您几乎肯定会遇到错误。
  • 不要将变量连接到 SQL 中。使用占位符和参数数组。
  • 你为什么不检查err
  • 将用户名分配到另一个用户名的 length (?) 听起来不是一个有用的操作。您需要按照 Barmar 的建议使用占位符。
  • @Barmar 我正在检查错误,我只是忘了把它放在帖子中

标签: mysql sql node.js database validation


【解决方案1】:

不要将变量替换为 SQL,使用占位符和参数数组。

 const selectUsername = conn.query("SELECT username FROM user WHERE username= ?", [username], function (err, row){

【讨论】:

    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 2019-01-17
    • 2012-01-26
    • 2013-08-31
    • 1970-01-01
    相关资源
    最近更新 更多