我通过两个 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/