NodeJS правильно отображает результат запроса MySQL

#node.js #express

#node.js #выразить

Вопрос:

Я получил запрос MySQL, в котором я запрашиваю значения в определенном поле с помощью SELECT инструкции. Мой вопрос: как мне получить значение запроса? Когда я отображаю шаблон с моим текущим кодом, я получаю следующий вывод на своей странице [object Object]. У меня есть следующий код:

 var network;

function query(sql, callback) {
    connection.query(sql, function(err, rows) {
        if (err) {
            callback(err, null);
        } else {
            callback(rows);
            res.render('index.hjs', { Mysql : network });
            console.log(network);
        }
    });
}

query("SELECT testString FROM test", function(results){
    network = results;
});
  

Комментарии:

1. вы задаете один и тот же вопрос снова и снова, просто ожидая, пока StackOverflow решит все логические шаги

Ответ №1:

В вашем коде есть несколько исправлений. Ничего плохого, просто хорошая практика. При обратном вызове с ошибкой вы отправляете два аргумента, но в реальной функции обратного вызова запроса вы используете только один аргумент.

Во-вторых, res будет неопределенным внутри query функции. (Конечно, если у вас нет его внутри обработчика запроса, что портит цель его использования в качестве функции)

Без вашей структуры базы данных и структуры кода это лучшее, что я могу сделать, чтобы помочь вам.