我得到一个错误在SQLNODEJS有什么我没有做好?是否有一个问题与我的连接到服务器(这是亚马逊服务器)2是否有一个问题与其余的代码谢谢
const mysql = require('mysql');
let connection = mysql.createConnection({
host : "142.**.**.***",
port : '22',
user : 'db-*****',
password : 'Yo*****'
});
connection.connect();
connection.query('SELECT * FROM wp_redirection_groups', (error, results, fields) => {
if(error) {
return console.log(error);
}
console.log(results);
});
connection.end();
我需要改变什么吗
连接对任何查询都是隐式的,因此您不需要connect()
函数,也通常不需要end()
函数,除非您真的在大规模工作并且有充分的理由手动管理您的连接。连接将根据需要被重用、关闭、重新连接。
我很想知道你为什么要使用PORT: 22
,因为这通常专用于SSH
流量,使用它需要充分的理由和许多地方的大量自定义配置。默认的mysql
端口是3306
,所以我要仔细检查您是否按照您希望的方式配置了所有内容。不管值如何,它都应该按照int
提供,而不是字符串
下面是一个简化的片段:
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '142.**.**.***',
port : 22,
user : 'db-*****',
password : 'Yo*****'
});
connection.query('SELECT * FROM wp_redirection_groups;', function (error, results, fields) {
if (error) console.log('there was an error', error);
// connected, query complete, no errors
console.log('the results object is:', results);
});
因为这个connect. query()
示例是单独存在的(不是作为任何定义函数的一部分,可能会在需要时调用),所以您应该期望这个查询在启动node
应用程序后立即执行一次,只要它包含在您的根文件或包含的模块中。