我在express.If中使用了express和mysqljs --我请求我的数据库来添加一个用户,我必须定义一个回调函数来处理响应。不幸的是,我无法用回调函数来表示res.send,我想将insertID发送到res.send method.How,我要这样做吗?这是我的密码。
app.post("/adduser", (req, res) => {
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "customer"
});
const name = req.body.name;
const age = req.body.age;
const users = { name: name, age: age };
const query = "INSERT INTO users SET ?";
con.query(query, users, (err, res) => {
if (err) throw err;
console.log("Last insert ID:", res.insertId);
// want to send res.insertId to server
// res.send() here
});
}); 发布于 2017-11-15 07:52:47
我猜您对“响应”和“结果”都使用了相同的变量名“res”。
正如文档所述,con.query返回“结果”而不是“res”。https://github.com/mysqljs/mysql#performing-queries
app.post("/adduser", (req, res) => {
const con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "customer"
});
const name = req.body.name;
const age = req.body.age;
const users = { name: name, age: age };
const query = "INSERT INTO users SET ?";
con.query(query, users, (err, result) => {
if (err) throw err;
console.log("Last insert ID:", result.insertId);
// want to send result.insertId to server
// res.send() here
// res.send(result.insertId); // gives an error
res.send(result.insertId.toString());
});
}); https://stackoverflow.com/questions/47301798
复制相似问题