2016-03-14 96 views
0

我有一个方法getconnection()为我创建连接。 这里有这个功能。Connection.query()返回未定义的行

即使我正在提取查询的结果,即行回调函数将响应发送给控制器,我也会得到未定义的结果。 有人可以帮我。提前感谢。

function fetchUserInfo(req,res) 
{ 
    var getUserInfo = "select First_Name, Last_Name,COUNT(*) FROM  twitter.user_information INNER join twitter.tweets ON user_information.Twitter_Handle = tweets.Twitter_handle WHERE user_information.Twitter_Handle = '"+req.session.handle+"' "; 
console.log("Fetch User-------------"+getUserInfo); 
    mysql.fetchUser(function(err,result){ 

    if(err) 
    { console.log("cannot be retrieved"); 
     throw err; 
    } 
    else 
    { 
     console.log("Successfully retrieved"); 
     console.log("---------------" + result); 
     console.log(result.First_Name); 
     res.send(result); 
    } 
},getUserInfo); 

}

// MySQL的功能

功能fetchUser(回调,的SQLQuery) {

console.log("In fetch Data"); 
console.log("SQLquery is:::"+sqlQuery); 
connection.getConnection().query(sqlQuery, function(err,rows,fields){ 

    if(err) 
    { 
     console.log("Error :"+err.message); 

    } 
    else 
    { 
     console.log("Result is :" + rows.First_Name); 
     callback(err, rows); 
    } 
}) 

}

回答

0

尝试这种情况:

console.log("Result is :" + rows[0].First_Name); 

或尝试打印变量到控制台,而不是rows.First_Name行:

console.log(rows); 
+0

谢谢你......那工作! – chan