[英]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.