面临着与MySQL查询一个问题开展工作,如下所述,MySQL查询在节点JS不工作,同样的查询终端上
我有一个查询,如下给出其附近返回我的用户,
SELECT *,SQRT(POW(69.1 *(user_lat - '+ startlat +'),2)+ POW(69.1 *('+ startlng +' - user_long)* COS(user_lat/57.3),2))AS距离用户WHERE NOT user_id ='+ user_id +'具有距离<'+距离+'ORDER BY距离;
看起来把值之后,
SELECT *,SQRT(POW(69.1 *(user_lat - 18.5914),2)+ POW(69.1 *(73.917 - user_long)* COS(user_lat/57.3) ,2))AS距离FROM用户WHERE不是user_id = 1有距离< 10 ORDER BY distance;
如果我打从它的Node.js下面给出返回我的错误,但在同一时间同一查询,如果我通过终端打这个查询返回results.PFA
.... ./node_modules/mysql/lib/protocol/Parser.js:79 throw err; //重新抛出非MySQL的错误 ^ 的ReferenceError:结果没有定义 ......
节点JS代码:
near_by_user: function (req, res) {
var startlat = parseFloat(req.query.user_lat);
var startlng = parseFloat(req.query.user_long);
var distance = parseFloat(req.query.distance);
var user_id = parseInt(req.query.user_id);
if ((startlat != null) && (startlng != null) && (distance != null) && (user_id != null)) {
var sql_query = 'SELECT *, SQRT(POW(69.1 * (user_lat - '+startlat+'), 2) + POW(69.1 * ('+startlng+' - user_long) * COS(user_lat/57.3), 2)) AS distance FROM users WHERE NOT user_id = '+user_id+' HAVING distance < '+distance+' ORDER BY distance';
console.log(sql_query);
db_conn.query(sql_query, function (error, results, fields) {
if (error) {
console.log(error);
res.send({
"error": true,
"message": "Somthing wrong with db upadate !!!!"
});
} else {
console.log(result[0].json);
res.send({
"error": false,
"users": results
});
}
});
} else {
res.send({
"error": true,
"message": "Invalid Params !!!!"
});
}
}
你的Nodejs代码在哪里? –
请检查更新后的节点js代码。 –
您使用了'console.log(result [0] .json);'而不是'console.log(results [0] .json);'。这就是你得到RefenceError的原因。只是错字:) –