mysql - 如何将参数传递给nodejs中的mysql查询回调

标签 mysql node.js callback

我正在尝试找出将自定义数据传递到查询调用以在回调中可用的正确方法。 我在 nodejs(所有最新版本)中使用 MySQL 库。

我调用了 connection.query(sql, function(err, result) {...});

我找不到方法 1) 将自定义数据/参数传递给调用,以便 2) 在调用回调时可以使用它。 那么这样做的正确方法是什么?

我有以下(伪代码):

...
for (ix in SomeJSONArray) {
    sql = "SELECT (1) FROM someTable WHERE someColumn = " + SomeJSONArray[ix].id;
    connection.query(sql, function (err, result) {
      ...
      var y = SomeJSONArray[ix].id;
    };
}

从上面的代码中,我需要能够将查询中使用的“ix”的当前值传递给回调本身。

我该怎么做?

最佳答案

如果您使用的是 node-mysql,请按照文档中的说明进行操作:

connection.query(
    'SELECT * FROM table WHERE id=? LIMIT ?, 5',[ user_id, start ], 
    function (err, results) {

    }
);

文档也有正确转义字符串的代码,但在查询调用中使用数组会自动为您转义。

https://github.com/felixge/node-mysql

关于mysql - 如何将参数传递给nodejs中的mysql查询回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46730803/

相关文章:

Javascript 函数回调依赖于超时

mysql - 为什么 MySql LEFT OUTER JOIN 返回 20 倍以上的行?

node.js - 如果 unwind 应用于在 mongoose 中使用聚合时不存在的字段,将会发生什么

php - 如何使用 dompdf 创建多个页面

mysql - 如何将mysql查询转换为sequelize语法?

node.js - Socket IO 不从手机发出事件

Angular2 - 无法读取嵌套调用中未定义的属性 'subscribe'

c++ - 为什么 C++ 回调 C 函数需要 "extern C"?

sql - 我可以在 SQLite 中使用负 tinyint 吗?

mysql - SQL 多个 where 子句仅返回一个值