我这样在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'附近使用
谁知道我的查询为什么中断?
答案 0 :(得分:2)
检查您的sql,您会发现date
和FROM
之间没有空格
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";