Почему строка игнорируется в SQL-запросе с использованием Express при передаче в req.params.id? - PullRequest
0 голосов
/ 28 октября 2019

Я использую экспресс с 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=?`
};

Что такоеЯ скучаю? Я все еще новичок в программировании, но учусь усердно и быстро :)

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