簡體   English   中英

Node.js MySQL查詢語法,用於檢索

[英]Node.js mysql query syntax for retrieving

我正在使用帶有MySQL nom的nodejs來檢索日期。 當前select * from table可以正常工作,但是如果我想查詢db並檢索2個值之間的日期,則無法正常工作。

節點代碼是

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

我正在建立此查詢,它不起作用。

*file_ts*是無效的SQL; 也不能僅將未引用的日期填入查詢中。 使用參數綁定; 它還可以保護您免受Bobby Tables的侵害。

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使它們易於理解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM