考虑到以下情况:
connection.query('SELECT * from packages WHERE AQUIRED="'+req.session.user+'" AND PROCCESSED=0 ORDER BY PACKAGEID LIMIT 1 ', function(err, resultRow) {
console.log( 'rows '+resultRow.toString() ); // by here resultRow is not defined and err is null
}
数据库已连接,req.session.user
不是空字符串,并且数据库表中有与此查询匹配的行。
怎么会发生 err
为 null
,但 resultRow
也未定义?如果有的话,resultRow
应该是空对象。
有什么想法吗?
最佳答案
正如 Jso 提到的,回调内的变量名称存在拼写错误。我相信 Node.js 中的 SQL 返回一个对象数组,所以如果你尝试类似的事情
console.log( 'rows '+resultRow[0].toString() );
它应该可以工作。当然,添加错误检查等总是一个好主意,例如数组的大小。祝你好运,伙计!
关于mysql - Node.js MySql 查询返回未定义的行对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33743182/