Как вставить в аккаунт при регистрации - PullRequest
0 голосов
/ 09 февраля 2020

Я реализую веб-приложение с использованием трехуровневой архитектуры с 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)
            }
        })
    }
})

При отправке формы она просто загружается, затем вылетает, а затем показывает это Ошибка: Ошибка чтения пакетов связи . Кто-нибудь знает, что вызывает это? Заранее спасибо!

1 Ответ

0 голосов
/ 09 февраля 2020

Это говорит о том, что у вас слишком много подключений к базе данных, поэтому увеличьте

max_allowed_packet

и / или

max_connections

, но перед этим взгляните на

show status like '%onn%';  

и

show processlist; 

, чтобы увидеть, что происходит на вашем сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...