鍍金池/ 問(wèn)答/數(shù)據(jù)庫(kù)  HTML/ nodejs中mysql模塊連接池pool問(wèn)題

nodejs中mysql模塊連接池pool問(wèn)題

初學(xué)node,想用node寫一個(gè)api,一直報(bào)這個(gè)錯(cuò):

connection.query(db.sql.insert,[params.account, params.password],function(err, result){
                  ^

TypeError: Cannot read property 'query' of undefined

不知道是什么問(wèn)題

代碼如下:
api.js:

    const express = require('express');
    var router = express.Router();
    const mysql = require('mysql');
    var db = require('./db');
    
    var pool = mysql.createPool(db.config);
// 添加用戶
router.get('/user/add',function(req, res, next){
    // 從連接池獲取連接 
    pool.getConnection(function(err, connection){
        // 獲取前臺(tái)頁(yè)面?zhèn)鬟^(guò)來(lái)的參數(shù) 
        var params = req.query || req.params;
        console.log(params);
        connection.query(db.sql.insert,[params.account, params.password],function(err, result){
            if(result){
                result={
                    code:200,
                    msg:'add success!'
                }
            }
            console.log('add');
            //以json形式把操作結(jié)果返回前臺(tái)頁(yè)面
            returnResponse(res, result);
            connection.release();
        });
    })
})

db.js:

module.exports={
    config: {
        host:'localhost',
        user:'root',
        password:'123',
        database:'blog'
    },
    sql: {
        insert:'INSERT INTO blog (account,password) VALUES (?,?);'
    }
}
回答
編輯回答
不討喜

它說(shuō) connection 是未定義的,所以你可能沒(méi)獲取到連接,你把 pool.getConnection 回調(diào)里的 err 判空然后打出來(lái)看一下。

2017年8月25日 14:02