在MySQL查询中创建for循环

时间:2017-09-19 13:05:35

标签: mysql node.js

我的查询是:

connection.query("SELECT * FROM posts WHERE someId = 2", (err, rows) => {

    allIds = [];

            for(var i = 1; i <= rows.length; i++){
                allIds.push(rows.id_post)
            }

             res.send("The IDs : " + allIds )
});

rows.length = 5,我收到了回复:The IDs : , , , , ,。没有数据。我需要列出所有ID。后来想要用那些ID运行另一个查询,可能在同一个查询中,但现在为什么不显示ID?我错过了什么?

2 个答案:

答案 0 :(得分:1)

好像&#39; rows.id_post&#39;未定义。您确定有一个名为&#39; id_post&#39 ;?的房产吗?行是json还是数组?如果它是您需要的阵列:

for(var i = 0; i < rows.length; i++){
        allIds.push(rows[i].id_post)
    }

这应该回答你的问题。

答案 1 :(得分:0)

for(var i = 1; i <= rows.length; i++){
            allIds.push(rows.id_post)
        }

您没有引用行结果的索引...我不熟悉Node.JS语法,但我认为您需要引用i行来获取要推送的值。 ..