Я реализую веб-приложение с использованием трехуровневой архитектуры с express и docker. Я также использую mysql для хранения учетных записей. Это моя initialize-database. sql file:
CREATE TABLE accounts(
personId INT NOT NULL,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
userPassword VARCHAR(255) NOT NULL,
CONSTRAINT id_pk PRIMARY KEY (personId)
)
На моем уровне доступа к данным У меня есть account-repository файл, который отправляет запросы в базу данных:
const db = require('./db')
exports.getAccount = function(username, userPassword, callback){
const query = "SELECT * FROM accounts WHERE username = ? AND userPassword = ?"
const values = [username, userPassword]
db.query(query, values, function(error, account){
if(error){
callback("DatabaseError", null)
}else{
callback(account)
}
})
}
Теперь в моем приложении. js файл Я хочу проверить, существует ли учетная запись при входе в систему:
app.post("/login", function(request, response){
var username = request.body.username
var userPassword = request.body.password
if (username && userPassword) {
account.getAccount(username, userPassword, function(error, result){
if(error){
response.send("<h1>Error with database</h1>")
}
if(result){
request.session.isLoggedIn = true
request.session.username = username
response.redirect("/")
}
})
}
})
Но здесь я получаю сообщение об ошибке, в котором говорится, что null . Что я делаю неправильно?
Заранее спасибо!