我一直坚持这个问题,我可能只是愚蠢,但我希望它不是那么糟糕。我的任务是使用NodeJS + Express + MYSQL创建一个简单的系统。用户可以登录和退出,同时检查已有的用户名/电子邮件
所以代码给了我当前的错误(它已经经历了许多迭代和实现)
var userExists;
var emailExists;
var userCheck = 'SELECT * FROM users WHERE uname =' + req.body.email;
connection.query(userCheck, function (error, results) {
if (error) {
userExists = true;
res.json({
status: false,
message: 'there are some error with query'
})}
if (results.length > 0) {
userExists = true;
res.json({
status: false,
message: 'Username already exists'
});
} else {
userExists = false;
}
});
我得到一个问题:
'TypeError:无法读取undefined'属性'length'
在过去的10个小时里,我用这段代码经历了很多,但我希望这不是一个新手的错误!任何帮助将不胜感激!
您当前的代码将尝试检查.length
的results
,无论是否有错误。如果有错误,results
可能是undefined
,所以继续检查results.length
将抛出。考虑return
区块底部的if (error)
ing:
connection.query(userCheck, function (error, results) {
if (error) {
userExists = true;
res.json({
status: false,
message: 'there are some error with query'
});
return;
}
if (results.length > 0) {
userExists = true;
res.json({
status: false,
message: 'Username already exists'
});
} else {
userExists = false;
}
});