[英]How to check if the email already exists in database
我試圖通過電子郵件驗證,如果用戶已經注冊,但值總是插入到我的數據庫中,即使數據庫中已經存在該電子郵件也是如此。
router.get('/save',function(req,res){
var uname = req.query.username;
var em = req.query.email;
var passw = req.query.pass;
var gender = req.query.gender;
var dob = req.query.date;
var con = mysql.createConnection({
host:"localhost",
user:"root",
password:"",
database:"sherrydb"
});
con.query('select * from loginn where email= "'+req.query.email+'" ',function(err,row){
if(err){
con.query('insert into loginn(name, password, email, gender, date) VALUES("' + uname + '","' + passw + '","' + em + '","' + gender + '","' + dob + '")',
function(err,rows,fields){
console.log(rows);
res.send("inserted");
});
}
else{
alert("user already registered");
return;
}
});
con.end();
});
您只會在出現錯誤時插入,並且在兩種情況下數據庫查詢都不會引發任何錯誤,如果找不到任何結果或找到任何結果。
這些數據庫查詢的結果將是什么-
因此,您可以做的是,檢查查詢結果的長度,如果結果長度為0,則可以插入並且大於0。您應該發送“已注冊”響應或類似內容。
router.get('/save',function(req,res){
var uname = req.query.username;
var em = req.query.email;
var passw = req.query.pass;
var gender = req.query.gender;
var dob = req.query.date;
var con = mysql.createConnection({
host:"localhost",
user:"root",
password:"",
database:"sherrydb"
});
con.query('select * from loginn where email="'+em+'" ', (err, result) => {
if (err) throw err;
if (result.length>0){
res.send("user already registered");
}
else{
var conn = mysql.createConnection({
host:"localhost",
user:"root",
password:"",
database:"sherrydb"
});
conn.query('insert into loginn(name, password, email, gender, date) VALUES("' + uname + '","' + passw + '","' + em + '","' + gender + '","' + dob + '")',function(err,rows,fields){
console.log(rows);
res.send("inserted");
});
conn.end();
}
});
con.end();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.