2017-07-07 69 views
0

我目前正在使用电子,我需要从一个MySQL数据库中获取一些数据,什么是工作良好。JS返回一个值给出“undefined”

但是,在函数之间发送值时存在问题。我有点新的JS和电子,所以也许我错过了什么:

function getUserData(user, data){ 

// connect 
var connection = connect(); 

// Perform a query 
$query = 'SELECT ' + data + ' FROM `users` WHERE user_id = ' + user; 

// Query ausführen 
connection.query($query, function(err, rows, fields) { 
    if(err){ 
     console.log("There was an error with executing the query."); 
     console.log(err); 
     return; 
    } 

    return rows; 
}); 

// End function 
return; 
} 

所以基本上我想回到“行”,但它说,这是不确定的。 右上面

return rows; 

如果我

console.log(rows); 

检查中有

我这么想的数据?

在此先感谢!

+0

您从函数返回undefined。此外,我不熟悉该API,但你可能想要返回connection.query(.....)。最近,该功能很容易受到SQL注入攻击。 – terpinmd

回答

0

那么,你实际上返回undefined return;

如果它(connection.query)是同步的,那么只是做return connection.query(/*smth*/)。 如果它是异步的,那么你将无法轻松完成这个任务,并且你所能做的最好的是,在作为参数提供的函数中,改变全局定义的变量的值(或者返回Promise /“异步处理“对象,如果有的话)。