Node.js-TypeError:无法读取未定义的属性“length”
2018-02-18
5421
我正在将 Node.js 连接到 Android 应用程序。 当我运行“npm start”时,出现错误(TypeError:无法读取未定义的属性“length”)。
似乎它没有从 MySQL 接收“rows”属性(行数)。
router.get('/:phone', function(req, res, next){
var phone = req.params.phone;
var sql = "SELECT * FROM bestfood_member WHERE phone = ? LIMIT 1;";
console.log("sql : "+ sql);
db.get().query(sql, phone, function (err, rows){
console.log("rows : " + JSON.stringify(rows));
console.log("row.length : " + rows.length);
if(rows.length > 0){
res.json(rows[0]);
} else {
res.sendStatus(400);
}
});
});
有什么问题?
2个回答
您的SQL查询可能错误。您需要检查查询是否已成功执行。
如果(err)投掷err;
mbrandau
2018-02-18
您可以使用这些代码行。rowCount 将告诉您有多少行。几天后我也找到了这个解决方案。
db.get().query(sql, phone, function (err, rows){
console.log("rows : " + JSON.stringify(rows));
console.log("rows.rowCount : " + rows.rowCount);
Haseeb Tariq
2021-07-06