mysql - nodejs中的错误SQL语法
问题描述
我像这样在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 special = 'KNTK' AND doctor = 'Nguyễn Văn A' AND date ='2018-7-15' AN' 附近使用正确的语法
任何人都知道为什么我的查询中断?
解决方案
检查你的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";
推荐阅读
- sql - SQL CASE when with embedded CASE when 语句
- c - 试图用 bison 和 flex 制作计算器,但它只打印出 0
- node.js - NodeJS 变量范围、函数和回调
- javascript - TypeError:this.props.navigation.getParam 在使用 ReactNative 传递参数时不是函数
- jquery - 函数结束后循环打印检索多个数据
- azure - 删除 azure devops 计费的自动化
- php - 如何更新多对多关系中的时间戳
- ios - 如何解决问题 Razorpay iOS 实现
- oracle - 如何告诉 ldapsearch 返回非加密值
- python - Pytest 导入第三方包失败