所使用的查询只返回1行/结果,所以当我试图获取密码栏,我必须写:如果MySQL查询返回1个结果,我是否必须指定我想从结果[0]得到密码?
var hash = results[0].password;
我试图
var hash = results.password;
但随后哈希变得不确定。
router.post('/', function(req, res, next) {
var username = req.body.username;
var password = req.body.password;
db.query('SELECT * FROM user WHERE username = ?', [username], function (error, results, fields) {
if (error) throw error;
var hash = results[0].password;
console.log(hash);
});
res.redirect('/');
});
我想因为应用程序不知道它只有一行;是。您必须仍然从结果中获得第一个([0])行。如果你愿意,循环一切;你不需要。除非你实现了一个只有一行的方法,例如“.GetResultRow”,这可能会返回一行。 – Paramone