I need help with this problem I got. I have login script that crashes node if the username or password isn't in the database, here the code:
/* 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(); }; and the error I get
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)
Any ideas on how to fix this?