2017-09-19 1 views
1

内ループのために作成すること:The IDs : , , , , ,は、MySQLのクエリ

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、私は応答を取得しています。データが存在しません。私はすべてのIDが記載されている必要があります。後でこれらのIDを使用して別のクエリを実行したいのですが、同じクエリ内にあるかもしれませんが、なぜIDが表示されないのですか?私は何が欠けていますか?あなたは、行の結果のインデックスを参照していない

答えて

1

'rows.id_post'は未定義のようです。 'id_post'という名前のプロパティがありますか?行はjsonか配列ですか?配列の場合:

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

これはあなたの質問に答える必要があります。

+0

"i = rows.length'が失敗し、' <'が成功する原因は何ですか?またはi = 0'がこれを解決していますか? – Somename

+1

配列の添字は0です。したがって、オブジェクト配列[array.lenght] doesn – jetblack

+0

https://stackoverflow.com/questions/46302496/recursive-query-issue-with-mysqlで助けてください。同じクエリが拡張されました。 – Somename

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

...私はNode.jsの構文に慣れていないが、私はあなたが値をプッシュする得るために私の行を参照する必要があると思うだろう。 ..

+0

'allIds.push(rows [i] .id_post)'を意味しますか?私はそれを試してエラーが発生しました: 'TypeError:未定義のid_comment 'を読み取れません。 – Somename

+0

connection.query(" SELECT * FROM posts someId = 2 "、function selectAll(err、rows、fields){ –