无法使用.query命令导致Node.js错误

时间:2019-05-23 05:51:46

标签: mysql node.js express

问题:

我已经在其中创建了一个节点应用程序,我正在将user管理员添加到userModal.js文件中的数据库中。

var bcrypt = require('bcryptjs');
var sql = require('../db.js');

module.exports.save_admin = (new_admin,callback) =>{
    bcrypt.genSalt(10,(err, salt)=> {
        bcrypt.hash(new_admin.password, salt, (err, hash)=> {
            new_admin.password = hash;
            if(err){
                throw err;
            }

            else{
                console.log(new_admin.password);
                sql.query("INSERT INTO administrators set ?", new_admin, callback);     
            }
        });
    });
}

这就是我从控制器调用此函数的方式。

var admin = {
          first_name: req.body.first_name,
          last_name: req.body.last_name,
          organization: req.body.organization,
          admin_level: req.body.admin_level,
          user_identity: req.body.identity,
          username: req.body.username,
          password: req.body.password
        };

        User.save_admin(admin, (err,user) => {
          if (!err) {
            res.json({ state: true, msg: "data Inserted" });
          } else {
            res.json({ state: false, msg: "data Is Not Inserted" });
          }
        });

这是我在db.js文件中配置数据库的方式。

'user strict';

var mysql = require('mysql');

//local mysql db connection
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : '',
    database : 'mydatabase'
});

connection.connect(function(err) {
    if (!err){
        console.log("Database connection succeeded...!");
    }

    else{
        console.log('Error in DB connection :'+JSON.stringify(err,undefined, 2));
    }
});

module.exports = connection;

module.exports = {
    "secret": "myapplicationsecret"
};

此设置使我出现此错误。

  

sql.query(“ INSERT INTO administrators set?”,new_admin,回调);                       ^

     

TypeError:sql.query不是函数

0 个答案:

没有答案