【发布时间】:2019-01-17 23:35:27
【问题描述】:
我正在尝试使用 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 :=
我不确定问题出在哪里,是代码的问题,还是数据库的某个地方?
【问题讨论】:
-
在结果数组上调用
querystring.stringify似乎是一件相当奇怪的事情。您期望从中得到什么结果? -
只做
console.log(result),省略querystring.stringify.. Node.js 的console.log 在显示对象属性方面并不是最好的,如果你在它前面加上一个字符串,那就更糟了,因为更好的输出,你也可以考虑 util.inspect,-> nodejs.org/api/util.html#util_util_inspect_object_options -
@Keith 我不确定它是如何或为什么起作用的,但是上次我尝试它只是给了 [object, object],我不确定这是我更改的访问权限还是什么。
-
如果你只是这样做 ->
console.log(result),它会正常工作,.. 但是如果你这样做console.log("something:" + result)它不会正常工作.. 那是因为 Object.toString() 返回[object Object]. -
@Keith +1 就是这么简单谢谢
标签: javascript mysql node.js mysql-workbench