【问题标题】:TypeError: val.toString is not a function - mysql npmTypeError: val.toString 不是一个函数 - mysql npm
【发布时间】:2020-10-20 04:12:17
【问题描述】:

我在 nodeJS 后端使用 NPM 包“mysql”,但我不明白错误消息:

TypeError: val.toString 不是函数 在 Object.escape (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/sqlstring/lib/SqlString.js:52:33) 在 Object.objectToValues (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/sqlstring/lib/SqlString.js:180:89) 在 Object.escape (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/sqlstring/lib/SqlString.js:54:26) 在 Object.format (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/sqlstring/lib/SqlString.js:100:19) 在 Connection.format (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/mysql/lib/Connection.js:271:20) 在 Connection.query (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/mysql/lib/Connection.js:189:22) 在 Function.create (/Applications/MAMP/htdocs/nodeJS_livredor/models/message.js:7:19) 在 /Applications/MAMP/htdocs/nodeJS_livredor/server.js:41:17 在 Layer.handle [as handle_request] (/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/express/lib/router/layer.js:95:5) 在下一个(/Applications/MAMP/htdocs/nodeJS_livredor/node_modules/express/lib/router/route.js:137:13)

我的代码:

let mysql = require('mysql');

let connexion = mysql.createConnection({
    host        : 'localhost',
    user        : 'root',
    password    : 'root',
    database    : 'livredor'
});

console.log('avant connexion.connect');
connexion.connect((err) => {
    if (err) {
        console.error(`Erreur de connexion: ${err.stack}`);
        return;
      }
      console.log(`Connecté`);
});

module.exports = connexion;

我在控制台中看到了两个 console.log,所以我猜它来自“connexion.connect”,但我不知道为什么。

如果有人可以提供帮助,请 :)

【问题讨论】:

  • 这似乎是您的 mysql 依赖项有问题...您是否尝试过删除 node_modules 并重新安装您的模块?另外,你用的是什么版本的 node 和 npm?
  • 嘿,是的,我删除了所有模块并重新安装,没有任何变化,同样的错误。我使用节点 14.4.0 和 npm 6.14.5。
  • 转念一想,这看起来像是您的一条快速路线存在问题。对您的一条路线的请求是否会发生错误?如果是这样,你能告诉我们那条路线的代码吗?

标签: javascript mysql node.js npm package


【解决方案1】:

我是个白痴,

泰!!也就是说,请求不正确。

我之前的路线:

        const   Message = require('./models/message');

        Message.create(req, () => {
            req.flash('succes', "Votre message a bien été posté.");
            
        })

我现在的路线:

        const   Message = require('./models/message');

        Message.create(req.body.message, () => {
            req.flash('succes', "Votre message a bien été posté.");
            
        })

再次感谢:)

【讨论】:

    猜你喜欢
    • 2020-12-22
    • 2017-06-12
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2023-02-01
    • 2018-07-22
    • 2016-07-12
    相关资源
    最近更新 更多