gpt4 book ai didi

mysql - Node-mysql 无法正常工作...需要调试思路

转载 作者:行者123 更新时间:2023-11-30 00:36:11 25 4
gpt4 key购买 nike

我是第一次使用node-mysql,我有一个程序,没有错误,没有警告,但无法正常工作...这是该程序的代码,非常简单:

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

connection.connect();
var usr = "BLASHDASD"
var userId = usr;
var sql = 'UPDATE userlist SET user1= ' + connection.escape(userId) + ' WHERE id=1 ';
console.log(sql);

connection.query('sql', function(err, rows, fields) {
console.log(err);
console.log("BLAHSDBKASD");
});

connection.end();

这是控制台输出:

C:\wamp\www\nodePHP-master\js>node nodeTest.js
UPDATE userlist SET user1= 'BLASHDASD' WHERE id=1

但是我的 MySQL 表中没有发生任何事情...我什至复制并粘贴了上面的 UPDATE 行,然后将其作为 SQL 代码运行,效果很好...需要一些关于正在发生的事情的想法。非常感谢

编辑:

回答了我自己的问题...正在监听错误的端口,因此连接失败。以下是供将来感兴趣/搜索的人更新的代码:

//TEST

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

connection.connect(function(err){
if(err) {
console.log(err)
} else {
console.log("connected");
}
});
var usr = "BLASHDASD"
var userId = usr;
var sql = 'UPDATE userlist SET user1= ' + connection.escape(userId) + ' WHERE id=1 ';
console.log(sql);

connection.query(sql, function(err, rows, fields) {
console.log(err);
});

connection.end();

最佳答案

您遇到了 Node 异步特性的问题,这是使用 Node.js 时非常常见的问题。您的代码中还存在一个小但严重的错误(您将 'sql' 作为带引号的字符串),但这里有一些结构相似的内容,应该会为您指明正确的方向。

var mysql      = require('mysql');
var connection = mysql.createConnection({
host : 'locahost',
user : 'foo',
password : 'bar',
database : 'test'
});

// the callback inside connect is called when the connection is good
connection.connect(function(err){
var sql = "select 'Joe' as name from dual";

connection.query(sql, function(err, rows, fields) {
if (err) return console.log(err);
// you need to end your connection inside here.
connection.end();
console.log(rows[0].name);
});
});

您可能会开始想知道如何避免所有这些回调。你不妨看看我对this question的回答有关更扩展的 mysql 示例以及提供回调狂热替代方案的替代实现。

关于mysql - Node-mysql 无法正常工作...需要调试思路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22159495/

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