Javascript 在数组中推送mysql json
我对nodeJs中的mysql查询有问题。 在实践中,我执行查询,它会向我返回一个json和查询结果,然后我必须将查询返回的结果插入一个数组变量中。我只是不知道如何滚动和选择数组的元素,因为当我尝试选择诸如“name”之类的元素时,它总是给我未定义的元素 Mysql查询:Javascript 在数组中推送mysql json,javascript,mysql,arrays,node.js,json,Javascript,Mysql,Arrays,Node.js,Json,我对nodeJs中的mysql查询有问题。 在实践中,我执行查询,它会向我返回一个json和查询结果,然后我必须将查询返回的结果插入一个数组变量中。我只是不知道如何滚动和选择数组的元素,因为当我尝试选择诸如“name”之类的元素时,它总是给我未定义的元素 Mysql查询: conn.query("SELECT * FROM user WHERE id=?",[id] ,function(err, result){ if(!err){ if(result.len
conn.query("SELECT * FROM user WHERE id=?",[id] ,function(err, result){
if(!err){
if(result.length == 1){
//Invio segnale di logged-in al client
conn.end();
resolve(result[0]);
}
}
})
代码节点:
socket.on('index', function(){
socket.emit('index', counterOnline);
if(counterOnline > 0){
console.log(userOnline);
socket.emit('userOnline', userOnline);
}
})
日志:
如果是,则为console.log(userOnline[0].nome);我得到“未定义”解析(结果[0])
将返回一个承诺,您必须使用:
var userOnline = [];
socket.on('online', function(idUser){
counterOnline++;
dataUser.online(idUser).then(function(idUser) {
userOnline.push(idUser);
})
})
dataUser.online(idUser):
我得到同样的“未定义”,你能给我一个你用书面代码说的例子吗?请分享counterOnline和userOnline的函数定义,但是userOnline和counterOnline是两个变量,分别是数组和普通变量。你在哪里分配它们?如何调用包含
conn.query(“SELECT*FROM user WHERE id=?”,[id],function(err,result){
?非常感谢。另一个问题,现在要从数组中按id删除记录,我能做什么?
var userOnline = [];
socket.on('online', function(idUser){
counterOnline++;
dataUser.online(idUser).then(function(idUser) {
userOnline.push(idUser);
})
})
var userOnline = [];
socket.on('online', function(idUser){
counterOnline++;
userOnline.push(dataUser.online(idUser));
})
function online(id){
var response = new Promise(function(resolve, reject){
var conn = connect();
conn.connect(function(err){
if(!err){
//query ricerca utente nel db
conn.query("SELECT * FROM user WHERE id=?",[id] ,function(err, result){
if(!err){
if(result.length == 1){
//Invio segnale di logged-in al client
conn.end();
resolve(result[0]);
}
}
})
}
})
})
return response;
}