如何使用nodejs在mysql数据库中插入npm uniqid模块。当我放入代码时,它显示错误“ TypeError:uniqid不是函数”

问题描述 投票:0回答:2

我正在将nodejs与express和mysql一起使用。当我提交表单时,发现错误“ uniqid不是函数”。

var express = require('express');
var router = express.Router();
var uniqid = require('uniqid');
var db = require('../db');

router.post('/create',function(req,res,next){
    var full_name = req.body.fullname;
    var email = req.body.email;
    var password= req.body.password;
    var mobile_no = req.body.mobile_no;    
    var uniqid = uniqid();

    var insert_query = `INSERT INTO users (user_uid,full_name,email,mobile_no,password) VALUES ("${uniqid}","${full_name}","${email}","${mobile_no}","${password}") `;

    db.query(insert_query,function(err,result){
      if(err) throw err;
      res.redirect('/signup');
   });
});
module.exports = router;
node.js
2个回答
1
投票

您正在用uniqid中的值覆盖uniqid()模块>

var uniqid = require('uniqid');
...
var uniqid = uniqid();

虽然它可能在第一次执行时就起作用了[[1

,但随后的调用将失败,并显示错误“ uniqid不是一个函数”]更改名称并使用es6 let/const代替var

const uniqid = require('uniqid'); ... const newId = uniqid(); const insert_query = `INSERT INTO ... VALUES ("${newId}"...) `;

1

没有,请参见下面的Klaycon评论

0
投票
让我们以这段代码为例:
© www.soinside.com 2019 - 2024. All rights reserved.