未定义的查询函数

cclgggtu  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(304)

所以我现在使用下面的代码来执行查询;

var mysql = require('mysql');

var config = require('./config');
var pool = mysql.createPool(config.mysql);

function query(statement){
  return new Promise(function(resolve, reject){
    pool.getConnection(function(err, connection) {
      if(err) reject(err);

      connection.query(statement, function(err, row){
        connection.release();

        if(err){
          reject(err);
        }

        resolve(row);        
      })
    });
  });
}

module.exports = {
  pool: pool,
  query: query
};

无论何时调用查询函数,都会导致未定义的错误; TypeError: Cannot read property 'query' of undefined 我完全不明白为什么会这样 connection.getConnection 没有返回正确的连接,这是否意味着我的凭据在我的 createPool 功能?
配置.mysql

mysql: {
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'site',
    connectionLimit : 10,           
    multipleStatements : true  
  }
pinkon5k

pinkon5k1#

问题出在您要传递的下一行 query 当您应该传入字符串时。

connection.query(query, function(err, row){
``` `query` 在这种情况下,应该是一个字符串。但你定义了 `query` 作为函数( `function query(){` )
如果你把这条线改成下面这样的话,这就行了。

connection.query("SELECT * from Users", function(err, row){

相关问题