Я использую экспресс с MySQL запросов к базе данных. Все работает нормально, но я хочу убедиться, что все неопределенные маршруты правильно перенаправлены. Я получаю доступ и отображаю события по их идентификатору. Мне удалось выполнить перенаправление, когда я ввел совершенно другой идентификатор события, но если я добавил случайную строку за идентификатором события, запрос все еще работает - почему это так?
Так, например:
/ 32516 -> работает как действительный идентификатор/ 32516gjklktj -> все еще работает, почему? / 94535 -> не работает, так как это неверный идентификатор
Я использую mysql в качестве базы данных и пакет mysql npm
Маршрут событий:
router.get('/:id', (req, res) => {
let eventId = req.params.id
async.parallel({
one: function(callback) {
pool.query(db.EventInfo, [eventId], (err, results) => {
if (err) throw err;
callback(null, results);
});
},
two: function(callback) {
pool.query(db.Bookings, [eventId], (err, results) => {
if (err) throw err;
callback(null, results);
});
}
}, function(err, results) {
if (err) throw err;
if (results.one[0] === undefined) {
res.redirect('/')
} else {
res.render('event', {
event: results.one[0],
bookings: results.two,
});
}});
})
Запрос к базе данных:
let db = {
EventInfo:
`SELECT id, title, date, location FROM events
WHERE eventId=?`,
Bookings:
`SELECT firstName, lastName FROM bookings
WHERE eventId=?`
};
Что такоеЯ скучаю? Я все еще новичок в программировании, но учусь усердно и быстро :)