Я использую mysql с Nodejs, и мое требование состоит в том, чтобы проверить, существует ли пользователь или нет, и если пользователя нет, мы должны создать этого пользователя.
router.post('/signup', (req, res) => {
var name = req.body.name;
var phone = req.body.phone;
var password = req.body.password;
var datecreated = req.body.datecreated;
var dateupdated = req.body.dateupdated;
db.query("select * from users where name='" + name + "' and password='" + password + "'", (error, rows) => {
if (error) {
res.send({ "status": "failure", "Error": error });
}
else if (rows.length > 0) {
res.send({ "status": "exists" });
}
else {
db.query("insert into users(name, password, phone, datecreated, dateupdated) values('" + name + "', '" + password + "', '" + phone + "', '" + datecreated + "', '" + dateupdated + "')"), (error, rows) => {
if (error) {
res.send({ "status": "failure", "Error": error });
}
else {
res.send({ "status": "success" });
}
}
}
});
});
Здесь, если пользователь существует, я получаюответ как статус, но если я отправляю нового пользователя, данные вставляются, но я не получаю ответ .Нужна помощь, ребята.
Рабочий раствор:
db.query("select * from users where name='" + name + "' and password='" + password + "'", (error, rows) => {
if (error) {
res.send({ "status": "failure", "Error": error });
}
else if (rows.length > 0) {
res.send({ "status": "exists" });
}
else {
db.query("insert into users(name, password, phone, datecreated, dateupdated) values('" + name + "', '" + password + "', '" + phone + "', '" + datecreated + "', '" + dateupdated + "')", (error, rows) => {
if (error) {
res.send({ "status": "failure", "Error": error });
res.end();
}
else {
res.send({ "status": "success" });
res.end();
}
})
}
});