我有点问题。我试图通过节点从mySQL获取一些数据,并且当我通过我正在获取的行中进行for循环时,我总是得到1个索引太多或者1索引/行不包含在我的以下代码中。
connection.query("SELECT clientid, profileid FROM ts3bot_in", function(err, rows) {
if (!err) {
console.log("Found " + rows.length);
console.log(rows);
for (var i = 1; i < (rows.length); i++) {
console.log(i);
}
}
}
所以我的意思是:当我在数据库表中找到1行时,我得到i = 0,并且i = 1.有2行,我得到i = 0,i = 1和i = 2。
希望有人能帮助我。最诚挚的问候,ndslr。
答案 0 :(得分:0)
试试这个
connection.query("SELECT clientid, profileid FROM ts3bot_in", function(err, rows) {
if (!err) {
console.log("Found " + rows.length);
console.log(rows);
for (var i = 0; i < rows.length; i++) {
console.log(i);
}
}
}
请记住,数组是基于零索引的 - 第一项是0.第二项,等等......
rows[0]
将始终是数组中的第一项。
你正在做console.log(i)
,第一项的总是0
如果您希望它为第一个项目显示1,则您需要执行console.log(i+1)
- 来克服基于零的索引。
或者,您可以尝试.forEach
connection.query("SELECT clientid, profileid FROM ts3bot_in", function(err, rows) {
if (!err) {
console.log("Found " + rows.length);
console.log(rows);
rows.forEach(function(row, i) {
console.log(row); // the actual item
console.log(i); // the index - again, zero based
})
}
}