简体   繁体   English

MYSQL 结果长度未定义

[英]MYSQL length of results undefined

*throw err; *抛出错误; // Rethrow non-MySQL errors ^ // 重新抛出非 MySQL 错误 ^

TypeError: Cannot read property 'length' of undefined*类型错误:无法读取未定义的属性“长度”*

db.js:数据库.js:

function validateUser(username, password) {
  var sql = "SELECT * FROM users WHERE username = ? AND password = ?";
  var values = [[username, password]];
  con.query(sql,[values], function(err, results) {
    if (results.length > 0){
      return true;
    }
    else return false;

  })
}

server.js:服务器.js:

app.post('/auth', function(req,res) {
  console.log('form submitted');
  if(db.validateUser(req.body.username,req.body.password)){
    console.log('login successful');
  } 
  res.status(200);
  res.redirect(URL);
});

First please don't save passswords as plain text.首先请不要将密码保存为纯文本。

for example https://cdnjs.com/libraries/jsSHA例如https://cdnjs.com/libraries/jsSHA

For your code:对于您的代码:

function validateUser(username, password) {
  var sql = "SELECT * FROM users WHERE username = ? AND password = ?";
  var values = [username, password];
  con.query(sql,values, function(err, results) {
    if (results.length > 0){
      return true;
    }
    else return false;

  })
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM