connection.query 不是一个函数 Node.js MySQL

Posted

技术标签:

【中文标题】connection.query 不是一个函数 Node.js MySQL【英文标题】:connection.query is not a function Node.js MySQL 【发布时间】:2017-09-19 11:44:54 【问题描述】:

我尝试使用 mysql 连接进行 INSERT。但它说 connection.query() 不是一个函数。我可以在 sql.js 文件中执行 INSERT,但不能在 controller.js 中。

controller.js(我想做 INSERT 的地方)

var connection=require('../../sql');
exports.render=function(req,res)
  res.render('login',

  );
;
exports.create=function(req,res)
  res.render('signin');
;
exports.signin=function(req,res)
  var data  = usr: 'goi', pwd: 'me';
  connection.query('INSERT INTO login SET ?', data, function(err, result) 
    
  );
    res.render('layout');
;

sql.js(我连接到 MySQL 的地方)

var mysql=require('mysql');
var connection=mysql.createConnection(
  host:'127.0.0.1',
  port: '3306',
  user:'root',
  password:'12345',
  database:'db'
);

connection.connect(function(error)
  if(!!error)
    console.log(error);
  else
    console.log('Connected!:)');
  
);

module.exorts=connection;

【问题讨论】:

sql.js 中的简单错字; module.exorts=connection; 应该是 module.exports=connection; 【参考方案1】:

我在“异步函数”中遇到了这个错误。在我的情况下,我对池的调用之前没有 await 关键字。

错误:

let conn = pool.getConnection();

没有错误:

let conn = await pool.getConnection();

【讨论】:

以上是关于connection.query 不是一个函数 Node.js MySQL的主要内容,如果未能解决你的问题,请参考以下文章

JS 无法查询 MySQL 数据库。错误:connection.query 不是函数

mysqli_query 的用法和my_sqliconnect的用法

将新键值添加到 Connection.query 结果

sqli-labs(41) and 两php函数的讲解

小白求解nodejs+mysql怎么解决嵌套connection.query问题

mysql怎么删除一个表