Этот ответ примет форму пути отладки, потому что это единственный способ, который я вижу, чтобы понять суть вашей проблемы.
Давайте сделаем простейшее представление вашего приложения, чтобы убедиться, что вы можете отправить запрос на MySQL и получить ответ от обработчика маршрута в Express. Настройте свое приложение так:
const mysql = require('mysql');
const express = require('express');
const app = express();
const PORT = // define the PORT for your host
var connection = mysql.createConnection({
host: 'localhost',
user: '<MY_USER_NAME>',
password: '<MY_PASSWORD>',
database: '<DB_NAME>'
});
connection.connect(function(err) {
if (err) console.error(err);
console.log("Connected!");
});
app.get('/db-test', (req, res, next) => {
var id = // fill in a user_id that you know exists
var sql = `SELECT * FROM users WHERE id NOT IN ('${id}') `;
console.log(sql); // confirm you are sending the sql request you believe you should be sending
connection.query(sql, function (err, results, fields) {
if (err) console.error(err);
console.log(`results: ${results}\nfields: ${fields}`);
});
});
app.listen(PORT);
А затем пройдите по маршруту /db-test
из своего приложения и посмотрите, что произойдет. Если это сработает, то мы, по крайней мере, докажем, что вы МОЖЕТЕ делать запросы между Express и MySQL. Сейчас я не уверен, что вы можете, поэтому я не уверен, что нужно отлаживать.