私が得たこの問題について助けが必要です。ユーザー名またはパスワードがデータベースにない場合にノードをクラッシュさせるログインスクリプトがあります。ここにコードがあります。
/* 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();
};
そして私が得るエラー
TypeError: Query.Sequence.end(../node-のQuery.exports.login [as _callback](../node-project01/routes/login.js:18:19)
で未定義のプロパティ'name'を読み取ることができません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)
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)
Socket.ondata(stream.js:38:26)
、Socket.EventEmitter.emit(events.js:96:17)
、TCP.onread(net.js:396:14)
これを修正する方法について何かアイデアはありますか?