这很可能是因为我是节点和javascript的新手。我和朋友一直在使用Steam应用程序来更新给定用户的CS:GO等级。所有代码都有效 - 例如检查用户是否仍然在朋友列表等中但是我们似乎在实际上使用SQL查询的foreach时遇到问题,该查询抓取表中的所有用户并希望更新有关它们的信息。
CSGOCli.playerProfileRequest(CSGOCli.ToAccountID(value.steam64ID));
CSGOCli.on("playerProfile", function(profile) {
console.log('UPDATE counterStrikeGlobalOffensive SET clientRank = "'+ profile.account_profiles[0].ranking.rank_id +'",steamNick = "'+ name +'", wins = "'+ profile.account_profiles[0].ranking.wins +'", isVACBanned = "'+ profile.account_profiles[0].vac_banned +'" WHERE steam64ID = "'+ value.steam64ID +'"');
sqlll = 'UPDATE counterStrikeGlobalOffensive SET clientRank = "'+ profile.account_profiles[0].ranking.rank_id +'",steamNick = "'+ name +'", wins = "'+ profile.account_profiles[0].ranking.wins +'", isVACBanned = "'+ profile.account_profiles[0].vac_banned +'" WHERE steam64ID = "'+ value.steam64ID +'"';
con.query(sqlll, function (err, result) {
if (err) throw err;
console.log("1 record updated - csgo info.");
});
gameId = null;
});
那么问题是什么?如您所见,我们确实使用了foreach行。语句 - SQL本身是一个简单的SELECT * -
con.query("SELECT * FROM counterStrikeGlobalOffensive", function (err, rows) {
在其中放置上述代码。
我来自一个沉重的PHP背景,所以这可能是一个概念问题 - 我认为我需要重置变量或类似的东西?无论哪种方式,它的值
profile.account_profiles[0].ranking.rank_id
profile.account_profiles[0].ranking.wins
profile.account_profiles[0].vac_banned
似乎只被分配一次,只有一次。
有什么我明显做错了吗?
我很少问一个问题,所以如果有些事情不清楚,我会道歉 - 只是不确定要给某些看起来像是一件相当琐碎事情的确切信息。
由于