Javascript 使用mysql结果创建foreach

Javascript 使用mysql结果创建foreach,javascript,node.js,Javascript,Node.js,我想用SteamID检查个人资料。为此,我从数据库中获取了SteamID64,现在我尝试检查每个ID 基本上,它应该将数据库中的streamid64设置为一个var,执行代码(简单示例console.log(streamidvar);)并重复它,直到不再剩下streamid64 这是我正在使用的一段代码: con.connect(function(err) { if (err) throw err; con.query("SELECT SteamID64 FROM Users",

我想用SteamID检查个人资料。为此,我从数据库中获取了SteamID64,现在我尝试检查每个ID

基本上,它应该将数据库中的streamid64设置为一个var,执行代码(简单示例
console.log(streamidvar);
)并重复它,直到不再剩下streamid64

这是我正在使用的一段代码:

con.connect(function(err) {
    if (err) throw err;
    con.query("SELECT SteamID64 FROM Users", function (err, result, fields) {
      if (err) throw err;
      console.log(result);
    });
这就是我得到的输出:

[ RowDataPacket { SteamID64: 765611xxxxxxxxxxx },
  RowDataPacket { SteamID64: 765611xxxxxxxxxxx } ]
所以一切都正常,但我需要在一段时间内得到它们(不知道它是否被这样调用,我在php中已经习惯了),所以var resultsteamid就是streamid64

var account_id = new SteamID(resultsteamid);

我的代码rn:

您可以在javascript中使用一个间隔:

setInterval(()=>{
log(“检查MYSQL数据”)
}, 60000)
这段代码每分钟(60000毫秒)运行一次

更好的方法是使用名称空间定义变量,这样您也可以根据需要取消它

const checkData=setInterval(()=>{
log(“检查MYSQL数据”)
}, 60000);
//然后,当您要取消它时:
clearInterval(检查数据);

您可以从
控制台.log中看到
结果
只是一个行数组。Javascript有很多方法可以迭代数组。您已指定希望每个steamID都包含在变量“resultsteamid”中,因此,
for..of
或任何数组帮助器都将在此处为您提供帮助:

对于……的

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT SteamID64 FROM Users", function (err, rows, fields) {
    if (err) throw err;
    for(let row of rows) {
      let resultsteamid = row.SteamID64;
      let account_id = new SteamID(resultsteamid);
      //use account_id however you want
    }
  });
});
forEach

con.connect(function(err) {
  if (err) throw err;
  con.query("SELECT SteamID64 FROM Users", function (err, rows, fields) {
    if (err) throw err;
    rows.forEach(function(row) {
      let resultsteamid = row.SteamID64;
      let account_id = new SteamID(resultsteamid);
      //use account_id however you want
    });
  });
});

这很有意义,也很简单:)但实际上我在while函数(idk是它的名字,但也可能是foreach)中遇到了更多的问题。要在var中获取SteamID,它只能是一个或两个,但有时数据库中有成百上千个ID……您能在没有任何代码的情况下解释工作流吗。究竟应该发生什么样的过程?我没有完全了解你。我想创建一个蒸汽机器人来检查csgo玩家档案。所有的SteamID都在我的数据库中,这是到目前为止的代码:所以Bot应该检查来自mysql SELECT的每个SteamID。我希望这更清楚一点:)如果
result
包含您想要的ID列表,为什么要对每个ID进行查询?在
console.log(result)
do
var-streamids=result.map(r=>newstreamid(r.RowDataPacket.streamid64))之后..@HereticMonkey也许我理解错了,但我想重复一些事情,直到我什么都没有了。因此,如果我有10个SteamID,那么对于每个SteamID,应该执行相同的过程,直到没有剩余。这个问题根本不清楚……是的,我给出了一个php示例,因为我理解:D,但是你还有解决方案吗?不,因为我不理解这个问题。请将您的问题与所有要求联系起来。谢谢!这就是我想要的:D不幸的是,如果我想使用“let account\u id=new streamid(resultsteamid)”,我会得到一个类型错误;不客气!类型错误是一个非常广泛的错误类别,在讲述错误时,发布实际的错误消息非常有帮助,这样我们可以知道出错的原因哦,是的,当然:我的控制台中的resultsteamid也是黄色的,也许这就是问题所在?/root/node_modules/mysql/lib/protocol/Parser.js:437 throw err;//Rethrow non-MySQL errors ^TypeError:input.match不是函数抱歉,我无法查看此网络上的pastebin链接,但我指的是错误消息(不是堆栈跟踪)应该足够短,以便粘贴在此处或编辑到您的question@SchmanielSteamID可能太大,JavaScript无法正确表示。我认为您需要以不同的方式提取它们,请参阅