我试图找出将自定义数据传递给查询调用以使其在回调中可用的正确方法。我在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