试图使用node连接到MySQL数据库,但我在下面一直收到这个错误。
TypeError:无法读取未定义的属性"query">
我相信我已经具备了所需的所有模块和依赖项。
MySQL连接:
var pool = mysql.createConnection;
var pool = mysql.createConnection({
connectionLimit : 10,
host : 'host',
user : 'username',
password : 'password',
database : 'dbname'
});
错误源于启动mysql.pool.query:的行
app.post('/', function(request, response, mysql) {
var username = request.body.username;
var password = request.body.password;
if (username && password) {
mysql.pool.query('SELECT * FROM accounts WHERE username = ? AND password = ?', [username, password], function(error, results, fields) {
if (results.length > 0) {
request.session.loggedin = true;
request.session.username = username;
response.redirect('/Login_Page_V2');
} else {
response.send('Incorrect Username and/or Password!');
}
});
我已经尝试了不同的代码,但这一次导致错误"长度"未定义。
pool.query('SELECT * FROM accounts WHERE username = ? ...
我花了几个小时试图让它发挥作用,但我真的很困,我需要一些帮助。
pool.query('SELECT * FROM accounts ...
实际上是正确的方法。
错误:"长度未定义"来自此条件results.length > 0
。
你的IF声明应该是这样的:
results && results.length >= 0
这样,您就可以确保有一个结果(以及一个元素(,并且它的长度大于0。