Я реализую веб-приложение с использованием трехуровневой архитектуры с 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.createAccount = function(account, callback){
const query = "INSERT INTO accounts (email, userPassword) VALUES (?, ?)"
const values = [account.email, account.userPassword]
console.log("account:", account)
db.query(query, values, function(error, results){
if(error){
callback("DatabaseError", null)
}else{
callback([], results.insertId)
}
})
}
Теперь в моем приложении. js файле. Я хочу вставить имя пользователя и пароль, когда пользователь регистрируется:
app.post('/signup', function(request, response){
const email = request.body.email
const userPassword = request.body.userPassword
const message = []
if(email && userPassword){
account.createAccount(email, userPassword, function(error, account){
if(error){
response.send("<h1>Error with database</h1>")
}
else if(account.length > 0){
console.log(account)
message.push("Thank you for signing up, now you can log in!")
const model = {
message
}
response.render("start.hbs", model)
}
})
}
})
При отправке формы она просто загружается, затем вылетает, а затем показывает это Ошибка: Ошибка чтения пакетов связи . Кто-нибудь знает, что вызывает это? Заранее спасибо!