Pete Lee
Pete Lee

Reputation: 23

Why my SQL response is undefined?(using mysql2/promise)

i want to pick my mysql response.

this is my code.

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

This response was [ TextRow { user_key: '123445', isvalid: 1 } ]

That's good. But i want to get a value of user_key. So I typed this code.

console.log(isTrue.user_key)

But this result was only undefined

How can i get a value of user_key??

Upvotes: 1

Views: 1028

Answers (1)

Senthil
Senthil

Reputation: 2246

instead of "await conn.query" use like this "await query".

Example

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();
  }
})();

Upvotes: 2

Related Questions