多个查询上的节点Mysql未定义字段

时间:2019-03-07 08:19:33

标签: mysql undefined

  1. 我正在使用node,express,mysql

    1. 我正在执行多个SQL查询

         app.get("/surveys/:id/edit", function (req, res) {
         var q =
         "\
          SELECT * FROM inference_db.surveys WHERE surveys.slug=?; \
          SELECT * FROM inference_db.imagez; \
          SELECT city_id, name, province  FROM inference_db.cities WHERE cities.type != 1;"
          connection.query(q, [req.params.id], function (error, results, fields) {
            if (error) throw error;
            console.log(results[0]);
            console.log("------------participating cities-----------------   ");
            console.log(results[0].participating_cities);
            res.render("edit.ejs", {
                   pageTitle: "xdit Survey",
                   items1: results[0], // survey
                   items2: results[1], // imagez
                   items3: results[2] // cities
             });
      
            });
         });
      
    2. 当我管理日志结果[0]时,它正在运行,并为我提供了所有字段。

    3. 但是当我管理日志结果[0] .participating_cities时,我无法定义。我需要该字段,因为我会将其作为数组传递。该字段是存储在mysql表中的字符串。谁能帮忙。谢谢!

我的控制台日志: topic_id: 1, featured: 1, image: 'imee_marcos.jpg', slug: 'test-html-Mar-06-2019', status: '1', participating_cities: '30,40', participating_groups: '2,3' } ] ------------participating cities----------------- undefined

console log pic

1 个答案:

答案 0 :(得分:0)

results将是您运行的每个查询的查询结果数组;但是这些结果中的每个结果本身都是一个数组。因此,如果您想从第一个结果的第一行中获取该字段,则可能要检查results[0][0].participating_cities的值。