NodeJS + MySQL没有返回行

时间:2016-02-09 13:41:48

标签: mysql node.js

我正在为我正在处理的应用程序编写数据库层。它在NodeJS中编写,并使用mysql npm包来查询MySql数据库。

它一直很好用,到目前为止我已经编写了许多工作正常的方法。但是这个没有返回选择行。 select是有效的,如果我在数据库上运行它会返回我想要的行。但是当使用该方法时(因为我已经在所有其他方法中使用)它不起作用,我仍然不明白为什么。功能代码如下:

DbContext.prototype.getItemsOwnedById = function db_getItemsOwnedById(steamId, itemIds, callback)
{
    var query = 'SELECT * FROM items WHERE OwnedBy=' + connection.escape(steamId) + ' and Id in (';

    for (var i = 0; i < itemIds.length; i++) {
        query += connection.escape(itemIds[i]);

        if (i < itemIds.length - 1) {
           query += ', ';
        }
    }
    query += ')';

    console.log(query); // getting the query to check if it works. It does

    connection.query(query, function (err, rows, fields) {

        if (err) {
            callback(err, null);
            return;
        }

        console.log(rows); // empty array. Didn't return rows from DB

        if (rows.length == 0)
            callback(null, null);
        else
            callback(null, rows);
    });
} 

你能看到我失踪的东西吗?此代码与其他正在运行的代码非常相似,基本上是查询的更改。它不会抛出错误。

提前感谢您的帮助。

0 个答案:

没有答案