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

Node Mysql undefined field on multiple queries

  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 table 中的字符串。谁能帮忙。谢谢!

我的控制台日志: 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

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