鉴于以下情况:

 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不是空字符串,并且数据库表中有与该查询匹配的行。

errnull怎么会出现,但是resultRow也没有定义?如果有的话,resultRow应该是空对象。

任何想法?

最佳答案

正如Jso所提到的,回调内部的变量名中有一个错字。我相信Node.js中的SQL返回一个对象数组,因此,如果您尝试类似

console.log( 'rows '+resultRow[0].toString() );


它应该工作。当然,添加错误检查等总是好主意,例如数组的大小。祝你好运!

关于mysql - Node.js MySql查询返回未定义的行对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33743182/

10-11 11:54