![](/img/trans.png)
[英]Cannot read property 'length' of undefined when trying to get # of objects
[英]Cannot read property 'length' of undefined when trying to read the results of a MYSQL query
我已经在这个问题上停留了一段时间,我可能只是个愚蠢的人,但我希望它还不错。 我受命使用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:无法读取未定义的属性'length'
在过去的10个小时里,使用此代码我已经经历了很多事情,但是我希望这不是一个菜鸟的错误! 任何帮助将不胜感激!
您当前的代码将尝试检查results
的.length
, 而不管是否存在错误 。 如果有错误, results
可能是undefined
,因此继续检查results.length
会抛出错误。 考虑在if (error)
块底部return
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;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.