2017-07-07 82 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 /「異步處理「對象,如果有的話)。