Вставка данных формы в mysql с использованием nodejs. Куда я иду не так? - PullRequest
0 голосов
/ 02 апреля 2020

Итак, я работаю над веб-приложением для своей школы, в котором я должен создать страницу регистрации для входа. Я решил использовать для этого ноды express и mysql. Я только начал изучать узел и я новичок. Ниже приведен код, который я сделал для вставки данных из формы регистра в таблицу базы данных mysql (я уже успешно подключился к базе данных ранее):

app.post('/register', async (req, res) => {
    try {
        const firstname = req.body.first_name
        const lastname = req.body.last_name
        const email = req.body.email_id
        const hashedPass = await bcrypt.hash(req.body.password, 10)
        res.redirect("/login")
    } catch {
        res.redirect('/register')
    }
     const sql = "INSERT INTO users (first_name, last_name, email, password) VALUES ('"+firstname+"', '"+lastname+"','"+email+"', '"+hashedPass+"')"
        con.query(sql, function(err, result) {
            if (err) throw err
        console.log('New user registered: ' + users)
        })
})
app.listen(3000)

Однако, когда я обновляю sh сервер Используя nodemon и вводя тестовые данные в форму, чтобы проверить, регистрируются ли пользователи или нет, на терминале отображается следующая ошибка:

Connected to mysql database!
[nodemon] restarting due to changes...
[nodemon] starting `node server.js`
Connected to mysql database!
(node:60021) UnhandledPromiseRejectionWarning: ReferenceError: firstname is not defined
    at /Users/vaidiklapalikar/Desktop/current project/server.js:55:92
(node:60021) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:60021) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Connected to mysql database!
[nodemon] restarting due to changes...
[nodemon] starting `node server.js`
Connected to mysql database!
(node:60021) UnhandledPromiseRejectionWarning: ReferenceError: firstname is not defined
    at /Users/vaidiklapalikar/Desktop/current project/server.js:55:92
(node:60021) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:60021) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Я понятия не имею, что происходит. Пожалуйста, помогите мне с этим! Заранее спасибо.

1 Ответ

0 голосов
/ 02 апреля 2020

const firstname относится к блоку try, но вы пытаетесь прочитать его вне блока.

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