【发布时间】:2016-03-19 19:14:48
【问题描述】:
我对 java 脚本和节点 js 很陌生, 我试图从 MySQL DB 中获取一个值,返回值是 [object Object] 而不是字符串。 我真的没有在网上找到任何答案是什么问题。 我希望这里有人可以提供帮助。 行值为 [object Object]。
这是我的功能
exports.getAllIdInfo= function(dbConnection, tables ,id , callback){
var tableName= tables[i];
var tableVariable = tableName;
var myQuery = 'SELECT time, ' + tableVariable + ' FROM ' + tableName + ' WHERE id= ' + id;
var query = dbConnection.query(myQuery, function (err, row, result) {
console.log(query.sql);
if (err) {
console.log("getAllGoodIds error");
console.error(err);
return;
}
console.log("row is: " + row);
callback(row);
});
};
【问题讨论】:
-
如果返回值是指回调参数“row”,它可能是行中包含键值对的对象(我只能猜测,因为我不知道您使用的是哪个 sql 库),这应该是您真正想要的:如果它是一个对象,您可以通过调用其属性(例如 row.id 和 row.name 或表中的任何列)从中获取值。
-
你用的是什么库?节点mysql?
-
如果您想查看对象的结构,请尝试调用 console.log(row) (不附加任何字符串)或将其转换为字符串(您可以使用 JSON.stringify(row) )
-
(或将其作为单独的参数记录:
console.log('row is:', row)(注意逗号)) -
顺便说一句。不要像这样连接查询。它容易受到sql注入
标签: javascript node.js function callback