鉴于以下情况:
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
应该是空对象。
有什么想法吗?
答案 0 :(得分:0)
正如Jso所提到的,回调中的变量名称中存在拼写错误。我相信Node.js中的SQL会返回一个对象数组,所以如果你尝试类似
的话console.log( 'rows '+resultRow[0].toString() );
它应该有用。当然,添加错误检查总是一个好主意,比如数组的大小。祝你好运![/ p>