Я пытаюсь получить имя пользователя из базы данных mysql, приведенный ниже код может успешно получить имя пользователя. Однако, когда возникает ошибка, код не перенаправляется в / signin. Вместо этого страница перенаправляется на / admin. Хотя, если я добавлю
res.redirect ('/ signin')
непосредственно перед последней фигурной скобкой, он будет перенаправлен на страницу входа, но он выиграл не могу получить имя пользователя.
Я хочу, чтобы оно перенаправлялось на страницу входа, как?
const connection = require('./connection')
const signin = (req, res) => {
var email = req.body.email
var password = req.body.password
let queryStr = `select username from users where email='${email}' and password='${password}'`
return connection.query(queryStr, (err, rows, fields) => {
if (err) {
res.redirect('/signin')
} else {
req.session.email = email
res.json(rows[0])
}
})
}
module.exports = signin
Я думаю, что это связано с asyn c, потому что код выполняет последнюю строку, а затем go возвращается к оператору else. Я думаю, именно поэтому он идет на страницу / admin. но еще не исправлено.
соединение. js
const mysql=require('mysql')
var connection=mysql.createConnection({
host:'localhost',
user:'root',
password:'root',
database:'essencejoin',
})
connection.connect()
connection.query('SELECT 1 + 1 AS solution', function (err, rows, fields) {
if (err) throw err
console.log('The solution is: ', rows[0].solution)
})
module.exports=connection