Node.js中的错误SQL语法

时间:2018-07-15 04:27:39

标签: mysql sql node.js express

我这样在nodejs中编写了一个SQL查询

router.get('/bookingAppointment', function (req, res, next) {
var specialty = req.query.specialty;
var doctor = req.query.doctor;
var date = req.query.date;
var newdate = date.split('/').reverse().join('-');
var stm = "SELECT numericalOrder, date"
    + "FROM appointment "
    + "WHERE specialty = '" + specialty + "' AND doctor = '" + doctor 
    + "' AND date ='" + newdate + "' AND status = 0 "
    + "ORDER BY numericalOrder asc "
    + "LIMIT 1";
con.query(stm, function (err, results) {
    if (err) throw err;
    res.send(JSON.stringify({ "status": 200, "error": null, "response": results }));
});

});

但是我收到以下SQL语法错误

  

ER_PARSE_ERROR:您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的'WHERE Specialty ='KNTK'AND doctor ='NguyễnVănA'AND date ='2018-7-15'AN'附近使用

谁知道我的查询为什么中断?

1 个答案:

答案 0 :(得分:2)

检查您的sql,您会发现dateFROM之间没有空格

var stm = "SELECT numericalOrder, date " //need to add a space here
    + "FROM appointment "
    + "WHERE specialty = '" + specialty + "' AND doctor = '" + doctor 
    + "' AND date ='" + newdate + "' AND status = 0 "
    + "ORDER BY numericalOrder asc "
    + "LIMIT 1";