J'ai besoin d'aide pour ce problème. J'ai un script de login qui bloque le noeud si le nom d'utilisateur ou mot de passe ne sont pas dans la base de données, voici le code:Node.js se bloque sur la requête MySQL
/* Login */
exports.login = function(req, res){
var post = req.body;
var mysql = require('mysql');
var db = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'node01',
});
var selectStmt = 'SELECT * FROM users WHERE name = "' + post.user +'"';
db.connect();
db.query(selectStmt, function(err, rows, fields) {
if(err) throw err;
else if(rows[0].name == post.user && rows[0].password == post.password){
req.session.auth_id = rows[0].id;
req.session.user = rows[0].name;
res.redirect('/adminindex');
}
else res.redirect('/admin');
});
db.end();
};
et l'erreur que je reçois
TypeError: Cannot read property 'name' of undefined
at Query.exports.login [as _callback] (../node-project01/routes/login.js:18:19)
at Query.Sequence.end (../node-project01/node_modules/mysql/lib/protocol/sequences/Sequence.js:66:24)
at Query._handleFinalResultPacket (../node-project01/node_modules/mysql/lib/protocol/sequences/Query.js:138:8)
at Query.EofPacket (../node-project01/node_modules/mysql/lib/protocol/sequences/Query.js:122:8)
at Protocol._parsePacket (../node-project01/node_modules/mysql/lib/protocol/Protocol.js:165:24)
at Parser.write (../node-project01/node_modules/mysql/lib/protocol/Parser.js:60:12)
at Protocol.write (../node-project01/node_modules/mysql/lib/protocol/Protocol.js:32:16)
at Socket.ondata (stream.js:38:26)
at Socket.EventEmitter.emit (events.js:96:17)
at TCP.onread (net.js:396:14)
Toutes les idées sur la façon de résoudre ce problème?
Ne pas mettre le code et l'erreur sur un site distinct - les mettre dans votre question! –