La connection.query
La función toma dos o tres argumentos:la instrucción SQL (los valores) y la devolución de llamada. Aquí, la función toma cuatro argumentos, por lo que piensa [first_name, last_name,]
es la devolución de llamada.
Lo que puedes hacer es:
...
connection.query('INSERT INTO user SET user_id = ?, first_name = ?,last_name = ?', [decoded.id, first_name, last_name,], (err, rows) => {
if (!err) {
res.render('add-crew', { alert: 'Crew member added succesfully!' });
} else {
console.log(err);
}
console.log('The data from user table:\n', rows);
});
...
Espero que esto sea lo que estás buscando.
Editar también podrías hacer:
...
connection.query('INSERT INTO user SET ?', {user_id: decoded.id, first_name: first_name, last_name: last_name}, (err, rows) => {
if (!err) {
res.render('add-crew', { alert: 'Crew member added succesfully!' });
} else {
console.log(err);
}
console.log('The data from user table:\n', rows);
});
...