【问题标题】:Node.JS + MySQL - Getting a Result [duplicate]Node.JS + MySQL - 获得结果[重复]
【发布时间】:2017-10-17 01:29:38
【问题描述】:

所以我使用 node.js 和 mysql 已经有一段时间了,但我遇到了一个新问题。我知道我让标题看起来很基本,但我只是不知道如何命名这个问题。所以假设我有:

connection.query(SELECT column FROM table, function(err, result) {
  if (err) {
    console.log(err)
  }
  if (result.length > 0) {
    console.log(result[0].thisNeedsToBeAVar)
  }
})

现在在大多数情况下,我只会使用result[0].column,这一切都很好。但整个问题是column 在我的情况下可能是任何东西。所以我将该列作为var。记录结果时如何使用它?如果我只是将 var 放在那里,它会认为该列的名称实际上就是 var 的名称......

【问题讨论】:

  • 你的意思是像result[0][thisNeedsToBeAVar]
  • @ExplosionPills 啊哈,很有效,非常感谢!

标签: javascript mysql sql node.js


【解决方案1】:

如果 var a = {b : 'hello'};然后我们可以访问 b 作为 a.b 以及 a[b]。

    var column = ''; // any column name
    connection.query('SELECT ' + column + ' FROM table', function (err, result) {
    if (err) {
    console.log(err)
              }
    if (result.length > 0) {
    console.log(result[0][column])
            }
       })

【讨论】:

  • 这不行,因为' + column + '前后没有空格。除此之外,在不转义的情况下注入标识符是一个非常糟糕的主意。你应该解释你的答案,而不仅仅是发布一些代码。
猜你喜欢
  • 1970-01-01
  • 2011-10-29
  • 1970-01-01
  • 2012-11-01
  • 2021-12-31
  • 2017-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多