我正在为我正在处理的应用程序编写数据库层。它在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);
});
}
你能看到我失踪的东西吗?此代码与其他正在运行的代码非常相似,基本上是查询的更改。它不会抛出错误。
提前感谢您的帮助。