gpt4 book ai didi

mysql - 如何在 nodejs/socket.io 中的客户端请求后对 mysql 数据库进行查询?

转载 作者:行者123 更新时间:2023-11-29 03:44:20 25 4
gpt4 key购买 nike

我见过的所有示例都是先进行查询,然后向客户发送一些信息。

如果我先做一个查询,然后在它起作用的函数中使用结果:

client.query(
('SELECT * FROM '+TABLES_USERS),
function(err, results, fields) {
var Users = (results);
io.sockets.on('connection', function (socket) {
socket.on('event1', function (data) {
var requser = Users[data];
socket.emit('event2', requser);
});
});
client.end();
});

但现在我需要根据客户的要求进行查询。我试过这样的事情,但查询不起作用:

io.sockets.on('connection', function (socket) {
socket.on('event1', function (data) {
console.log('query required'); /*works*/
client.query(
('SELECT * FROM '+TABLES_USERS+' WHERE id_user ='+data),
function(err, results, fields) {
if (err) {throw err; /*doesn't work*/
console.log('error'); /*doesn't work*/ }
console.log('query is done'); /*doesn't work too. so i think query just doesn't work cuz there are no error and no results*/
socket.emit('event2', results);
client.end();
});

});
});

最佳答案

在上面的例子中,有些事情你做得不好(在我看来):

1) 在客户端连接到 Socket.IO 后,您不要求登录,而是检查他的 session 是否包含可以验证他是否已连接的数据。

您应该阅读有关 Express, Socket.IO and sessions. 的文章,因为它详细解释了所有内容(如果您使用的是 Express)

2) 我认为 MongoDB、CouchDB 和其他可能的数据库比 MySQL 更适合实时应用程序。

关于mysql - 如何在 nodejs/socket.io 中的客户端请求后对 mysql 数据库进行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8458684/

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