所使用的查詢只返回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