【发布时间】: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