为什么我的SQL响应未定义?(使用mysql2 / promise)

时间:2018-11-07 12:42:38

标签: node.js promise mysql2

我想选择我的mysql响应。

这是我的代码。

let [isTrue] = await conn.query("select user_key, isvalid from auth where user_key = ?", [user_key]);
console.log(isTrue);

此回复为[ TextRow { user_key: '123445', isvalid: 1 } ]

那很好。但我想获得user_key的值。 所以我输入了这段代码。

console.log(isTrue.user_key)

但结果仅为undefined

如何获取user_key的值?

1 个答案:

答案 0 :(得分:0)

而不是像“ await query”这样的“ await conn.query”。

示例

const mysql = require('mysql'); // or use import if you use TS
const util = require('util');
const conn = mysql.createConnection({host:"localhost", user:"root", password:"root", database:"test"});

// node native promisify
const query = util.promisify(conn.query).bind(conn);

(async () => {
  try {
    //const rows = await query('select count(*) as count from users ');
    //console.log(rows);
    var user_key = 1;
     const [isTrue] = await query("select id,name from users where id = ?", [user_key]);
    console.log(isTrue.name);

  }
    catch(err) {
    throw new Error(err)
    }
  finally {
    conn.end();
  }
})();