Node.js mysql查询语法来检索

我正在使用MySQL nomj的nodejs来检索date。 目前select * from table工作正常,但如果我想查询数据库和检索2个值之间的date它不工作。

节点代码是

 app.get('/api',function(req,res) { var startDate = req.param('startDate'); var endDate = req.param('endDate'); var sqlQuery =null; var message ={}; message.status=false; log("Params Found Changing SQL Queries For Start And End Date"); sqlQuery ="SELECT * from sentiment_data where *file_ts* >= "+startDate+" and *file_ts* <= "+endDate+" order by file_ts"; log(sqlQuery); if(user.isDB) { connection.query(sqlQuery, function(err, rows, fields) { if (!err) { message = rows; res.send(message); } }); } else { log("DB Error"); } }); 

我在执行时使用的开始时间和结束时间的SQL语句是

 SELECT * from sentiment_data where *file_ts* >= "+startDate+" and *file_ts* <= "+endDate+" order by file_ts 

我构build这个查询,它不工作。

*file_ts*不是有效的SQL; 也没有可能只是将未加引号的date放入查询中。 使用参数绑定; 它也将保护你免受鲍比表 。

 var sqlQuery = "SELECT * FROM sentiment_data WHERE file_ts >= ? AND file_ts <= ? ORDER BY file_ts"; // ... connection.query(sqlQuery, [startDate, endDate], function(err, results) { // ... }); 

取决于startDateendDate ,您可能需要使用Date.parse使其易于理解。