gpt4 book ai didi

javascript - 为什么我在 Node 中使用 mysql 的 connection.query 不起作用?

转载 作者:行者123 更新时间:2023-12-04 07:25:41 25 4
gpt4 key购买 nike

目标:对数据库做一个简单的查询。
预期结果: “请打印一些东西!”并将查询结果打印在终端上。
实际结果:终端上没有打印任何内容。
错误 : 没有错误信息。
这是db.js文件:

var mysql = require('mysql');

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

connection.connect();

connection.query('SELECT * FROM categories', function (err, res, fields) {
console.log("please print something!")
if (err) throw err;
console.log(res);
});

connection.end();
我使用以下命令执行此文件:
node db.js
在 mysql cli 上,我可以执行此查询,而上面给出的数据库名称、凭据和查询没有任何问题。
我知道 connection.connect()有效,因为当我输入下面的代码时,终端会打印“数据库已连接!”我认为问题发生在 connection.query ,但我不确定为什么。
connection.connect(function(err){
if(!err){
console.log("Database is connected");
} else {
console.log("Error while connecting with database");
console.log(err);
}
});
我已经查看了有关 stackoverflow 的所有相关问题并进行了尝试,但似乎没有一个解决方案可以解决我遇到的问题。

最佳答案

所以看起来 mySQL V8 使用 caching_sha2_password 作为新的身份验证标准,nodeJS 插件不支持。连接到您的数据库并尝试创建一个使用 native 密码身份验证类型的新用户。

CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';

关于javascript - 为什么我在 Node 中使用 mysql 的 connection.query 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68229223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com