簡體   English   中英

NodeJS將參數傳遞給mysql查詢

[英]NodeJS Pass parameter to mysql query

我正在構建 nodeJS 應用程序。我想將參數傳遞給我的查詢語句。下面是處理我正在查找的內容的模塊,但不幸的是,插入成功而沒有我傳遞給我的查詢的參數值。當我檢查它時插入數據庫新行,但值為空。

下面是我為此應用程序捕獲的數據庫表

在此處輸入圖片說明

app.post('/login',function(req, res){
var name = req.session.name ;
var pass = req.session.pass;
var mail = req.session.mail ;

con.connect(function(err){
   con.query("INSERT INTO register values(null, ?, ?, ?)",[name,mail,pass],
            function(err,result){
                if(err) { return console.log("Error when registration");}
                console.log("registration succeeded + query");

             }); 
       });
});

提前致謝

注意:數據庫連接沒有問題

請求對象沒有session屬性。 我想你可能正在尋找body財產。

你必須使用 req.bosy 而不是 os req.session。 為此,您需要需要 body-parser 並將其配置為

app.use( bodyParser.json() );       // to support JSON-encoded bodies
app.use(bodyParser.urlencoded({     // to support URL-encoded bodies
  extended: true
}));

在你的代碼中,你必須像這樣用 req.params.name 替換 req.session.name 。 請試試這個。 希望這會有所幫助。 謝謝

app.post('/login',function(req, res){ //params const name = req.body.name ; const pass = req.body.pass; const mail = req.body.mail ; // sql syntax const syntaxSQL = "INSERT INTO register (name,pass,mail) values ('"+name+"','"+pass+"','"+mail+"')" ; con.connect(function(err){ con.query(syntaxSQL, // <== use your previously built query here function(err,result){ if(err) { return console.log("Error when registration");} console.log("registration succeeded + query"); }); }); });

暫無
暫無

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

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