我正在构建nodeJS应用程序。我想将参数传递给我的查询语句.Below是处理我正在查找的内容的模块但是不幸的是插入成功,而不是我传递给我的查询的参数值。当我检查时它插入我的数据库新行,但值为null。
以下是此应用的数据库表格捕获
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");
});
});
});
提前致谢
注意:数据库连接没有问题
答案 0 :(得分:1)
请求对象没有session
属性。我想你可能正在寻找body
财产。
答案 1 :(得分:0)
你必须使用req.bosy而不是os req.session。为此,您需要身体解析器并将其配置为
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。请试试这个。希望这可以帮助。感谢
答案 2 :(得分:-3)
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");
});
});
});