mysql查询无法在Node js中工作,同一查询在终端上工作

时间:2017-07-23 04:11:44

标签: mysql node.js

面临与MySQL查询相关的一个问题,如下所述,

我有一个查询可以让用户回到我附近,如下所示,

SELECT *,SQRT(POW(69.1 *(user_lat - '+ startlat +'),2)+ POW(69.1 *('+ startlng +' - user_long)* COS(user_lat / 57.3),2)) AS FROM FROM users WHERE NOT user_id ='+ user_id +'HAVING distance< '+ distance +'按距离排序;

用于预测值,

SELECT *,SQRT(POW(69.1 *(user_lat - 18.5914),2)+ POW(69.1 *(73.917 - user_long)* COS(user_lat / 57.3),2))AS距离用户WHERE NOT user_id = 1具有距离< 10按距离排序;

如果我从node.js点击相同的查询,则返回错误,如下所示,但同时如果我通过终端点击此查询,则返回results.PFA enter image description here

..... / node_modules / MySQL的/ LIB /协议/ Parser.js:79         扔错了; //重新抛出非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 !!!!"
        });
    }
}

1 个答案:

答案 0 :(得分:0)

此错误是当您在块中处理错误时出现另一个错误(通常是syntaxis)时。就像Dylan Dang看到的那样。

产生了另一个错误,并且未启动mysql错误。