如何将参数传递给nodejs中的mysql查询回调 [英] How to pass parameters to mysql query callback in nodejs

查看:50
本文介绍了如何将参数传递给nodejs中的mysql查询回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to figure out the correct way of passing custom data to a query call to be made available in the callback. I'm using MySQL library in nodejs (all latest versions).

我打电话给 connection.query(sql, function(err, result) {...});

I have a call to connection.query(sql, function(err, result) {...});

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

I couldn't find a way to 1) pass custom data/parameter to the call so that 2) it can be made available when the callback is invoked. So what is the proper way of doing so?

我有以下(伪代码):

...
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"的当前值传递给回调本身.

From the code above, I need to be able to pass the current value of "ix" used in the query to the callback itself.

我该怎么做?

推荐答案

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

If you are using node-mysql, do it like the docs say:

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

    }
);

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

The docs also have code for proper escaping of strings, but using the array in the query call automatically does the escaping for you.

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

这篇关于如何将参数传递给nodejs中的mysql查询回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆