Я пытаюсь использовать js-узел для отображения результатов запроса mysql, чтобы впоследствии вывести его на веб-страницу.
На данный момент я просто вывод результатов запроса в консоль, код ниже:
var mysql = require('mysql');
const querystring = require('querystring')
var connection = mysql.createConnection({
host : 'localhost',
user : 'webuser',
password: 'p0ssw0rd',
database: 'balancesheet2'
});
connection.connect(function(err) {
if (err) throw err;
console.log('Connected!');
connection.query('SELECT * FROM balancesheet2.orders', function (err, result, fields) {
if (err) throw err;
result = querystring.stringify(result,' | ',' :=');
console.log('Result: ' + result);
});
});
Результаты, которые я получаю, приведены ниже:
Result: 0 := | 1 := | 2 := | 3 :=
Я не уверен, где проблема, это код с кодом или где-то с базой данных?
Ваш result
- это массив, поэтому вам, вероятно, нужно будет перейти к содержимому result
чтобы получить значения, напечатанные в противном случае существующий код просто печатает индекс массива. Также обратите внимание, что метод querystring.stringify()
создает строку запроса URL из заданного объекта obj путем итерации через объект "собственные свойства".
querystring.stringify
будет перебирать result
, поэтому OP получает числа ( 0
, 1
и т. Д.), Которые являются собственными свойствами массива. Так что вопрос в том, почему значения все пустые.
result
и выполнить querystring.stringify()
для каждого из этих объектов.
querystring.stringify
для массива результатов кажется довольно странной вещью. Какой результат вы ожидаете от этого?console.log(result)
и оставьте в полеquerystring.stringify
. Node.js console.log не лучший в отображении свойств объекта и даже хуже, если вы добавляете его в строку, для лучшего вывода вы можете также рассмотрите util.inspect, -> nodejs.org/api/util.html#util_util_inspect_object_options