【发布时间】:2016-12-28 23:30:55
【问题描述】:
我正在尝试检查数据库中的用户是否也存在。如果我将用户添加到数据库而不检查是否存在同名的人,我的代码就可以工作。当我尝试检查它时会出现问题,因为代码可以识别用户是否存在,但是如果不存在,则无法将用户添加到数据库中。有效的代码是这个(函数 DB() 是代码创建与数据库的连接的地方):
app.post('/Registro', function(req, res){
var conDB=DB();
var reg={
Usuario: req.body.Usuario,
Contra: req.body.Contra
};
console.log(req.body.Usuario+" "+req.body.Contra);
var query=conDB.query('INSERT INTO Usuario SET ?',reg,function(err, res){
});
res.send("Usuario: "+req.body.Usuario+" y Contraseña: "+req.body.Contra + "REGISTRADOS");
conDB.end(); });
不起作用的代码(我试图检查用户是否存在)是这个:
app.post('/Registro', function(req, res){
var conDB=DB();
var reg={
Usuario: req.body.Usuario,
Contra: req.body.Contra
};
var UsuarioReg=req.body.Usuario;
conDB.query('SELECT * FROM Usuario WHERE Usuario = ?', UsuarioReg,function(err,rows){
if(err)
return console.log(err);
if (!rows.length)
{
conDB.query('INSERT INTO Usuario SET ?',reg,function(err, respuesta){
return respuesta.send("Usuario: "+req.body.Usuario+" y Contraseña: "+
req.body.Contra + "REGISTRADOS");
});
}
else
{
return res.send("Este usuario ya existe");
}
});
conDB.end();
});
如果有人知道我该如何解决这种情况,我将不胜感激!
我制作了一个抛出此异常的版本:
【问题讨论】:
标签: javascript mysql node.js