【发布时间】: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