mysql - 如何在 Node.js 中以列名作为变量读出 MySQL 数据库的所有条目

标签 mysql node.js

我通过两个 for 循环运行 MySQL 表“Book”以获取值:

如果我明确使用列名“Betrag”来获取值(例如 res[i].Betrag ),它就可以工作!当我为列名称使用变量 ('colName') 时,它会发出一条错误消息。

如何在不在代码中键入列名的情况下获取 MySQL 表的值?

感谢您的帮助, M@trix

Value.toString()

app.get('/', function (req, res) {
  //Build connection to MySQL database
  var mysql2 = require('mysql');

  var db2 = mysql2.createPool({
  host: "127.0.0.1",
  user: "...",
  password: "...",
  database: "DataRobot"
  });

db2.query('SELECT * FROM Book', function (error, results, fields) {
  if (error) throw error;

});


function setResHtml(sql, cb){
    db2.getConnection((err, con)=>{
    if(err) throw err;

    con.query(sql, (err, res, cols)=>{

      if(err) throw err;
      for(var i=0; i<res.length; i++){
        for(var j=0; j<3; j++) {
          var colName= cols[j].name;
          console.log("res[i].Betrag:"); 
          console.log(res[i].Betrag); // shows the value 
          console.log("res[i].colName:");
      console.log(res[i].colName); // shows an error message!!!!
    };
      }
      con.release(); 
      return cb(table);
      });
    });
  }

通过列名称的变量获取条目。

最佳答案

@Stock Overflaw:你完全正确。我试过 res[i][Betrag];那没有用。然而,res[i][colName] 有效!非常感谢!

总结:

你得到一个数组的单个条目带有变量(例如colName):

res[i][colName]

你得到一个数组的单个条目没有变量(例如“Betrag”):

res[i].Betrag

关于mysql - 如何在 Node.js 中以列名作为变量读出 MySQL 数据库的所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55477636/

相关文章:

php - 字符集和排序规则会影响 MySQL/MariaDB 中的查询性能吗?

mysql - Laravel Eloquent 独特的时间戳年份

mysql - 如何传递逗号分隔的输入参数以从另一个存储过程调用存储过程

php - MySQL 中的货币格式

javascript - 使用socket.io,react.js和node.js进行实时通知

javascript - 爬虫中如何同步获取和保存

mysql - 使用 MySQLInstallerConsole.exe 和 chaning datadir 安装 MYSQL 5.6.21

node.js - 如何在 Azure Function App 中禁用自适应采样

javascript - Node API 通过 Express 对客户端(Angular2)的正文响应格式错误

node.js - 我怎样才能在这个服务器上放置一个循环