MySQL查询在NodeJS中返回[Object,object],为什么?

时间:2017-08-02 18:01:56

标签: mysql node.js

这是我的简单陈述:

var mysql = require("mysql");
var CONCDB = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "1234",
  database: "pwc"
})

CONCDB.connect();

CONCDB.query("SELECT first_name FROM users LIMIT 1", function(err, rows, fields) {
  if (err) throw err;
    console.log("The solution is: ", rows);
});

为什么我得到结果:

[ RowDataPacket { first_name: <Buffer 47 61 62 72 69 65 6c> } ]

如果我使用

... function(err, results) {
  ...
  console.log("The solution is: ", results)

我和使用行一样。

使用函数(错误,行,字段)和返回字段,我得到以下内容:

[ FieldPacket {
  catalog: 'def',
  db: 'pwc',
  table: 'users',
  orgTable: 'users',
  name: 'first_name',
  orgName: 'first_name',
  charsetNr: 63,
  length: 30,
  type: 253,
  flags: 4225,
  decimals: 0,
  default: undefined,
  zeroFill: false,
  protocol41: true } ]

有时这句话会抛出:

[Object object]

我做错了什么?我无法得到正确的结果。有人可以帮助我,我遵循与其他人相同的代码,但为什么这会给我一个错误?

例如,尝试这个:(我在网站上看到了这个)

CONCDB.query('SELECT * from users', function(err, rows, fields) {
  if (!err)
    console.log('The solution is: ', rows);
  else
    console.log('Error while performing Query.');
});

结果是:

The solution is:  [ RowDataPacket {
    id: 1,
    first_name: <Buffer 47 61 62 72 69 65 6c>,
    last_name: <Buffer 50 65 72 65 69 72 61> } ]

3 个答案:

答案 0 :(得分:10)

devtools::install_github("walkerke/tidycensus")不是错误,只是告诉你结果的typedef。

要打印结果中包含的值,请尝试仅使用:

[Object object]

而不是

console.log(results);

答案 1 :(得分:1)

我只写了console.log(results)

这解决了我的问题。

答案 2 :(得分:0)

console.log(results);

这对我来说很好,但是我想在嵌套查询中使用结果,例如:

results[0].someAttribute

任何来自Google的人。