Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql2 async/await未定义的行和字段node.js_Node.js_Typescript_Express_Mysql2 - Fatal编程技术网

mysql2 async/await未定义的行和字段node.js

mysql2 async/await未定义的行和字段node.js,node.js,typescript,express,mysql2,Node.js,Typescript,Express,Mysql2,为什么下面的查询返回未定义的行和字段,即使用户表有数据?如何在typescript中正确使用promise版本。任何帮助都将不胜感激。谢谢你 代码 控制台输出 未定义未定义 成功连接到数据库查看mysql,我有两个建议: 我发现您需要更改正在导入的内容 您还需要等待createConnection调用 import mysql from 'mysql2'; import 'dotenv/config'; import bluebird from 'bluebird'; //? this a

为什么下面的查询返回未定义的行和字段,即使用户表有数据?如何在typescript中正确使用promise版本。任何帮助都将不胜感激。谢谢你

代码

控制台输出
未定义未定义

成功连接到数据库

查看mysql,我有两个建议:

  • 我发现您需要更改正在导入的内容
  • 您还需要等待
    createConnection
    调用
import mysql from 'mysql2';
import 'dotenv/config';
import bluebird from 'bluebird';

//? this all configuration for database connection
const connection: any = mysql.createConnection({
  host: process.env.DB_HOSTNAME,
  user: process.env.DB_USER,
  database: process.env.DATABASE,
  Promise: bluebird,
});

//! test connection - required
const testConnection = async () => {
  try {
    //? output to the console the query value
    let [rows, fields]: [any, any] = await connection.execute(
      'SELECT * FROM user',
    );
    console.log(rows, fields);
    console.log('successfully connected to database');
  } catch (error) {
    console.log(error);
  }
};


testConnection();
// get the client
const mysql = require('mysql2/promise');

// get the promise implementation, we will use bluebird
const bluebird = require('bluebird');

// create the connection, specify bluebird as Promise
const connection = await mysql.createConnection({host:'localhost', user: 'root', database: 'test', Promise: bluebird});

// query database
const [rows, fields] = await connection.execute('SELECT * FROM `table` WHERE `name` = ? AND `age` > ?', ['Morty', 14]);