我正在尝试使用WebSQL和JavaScript执行登录功能。我编写了一个带有一个参数(email
)的函数。该功能应该在数据库中搜索现有的电子邮件,然后应返回一条警报,指出该电子邮件是否存在。
我进一步希望使用该功能来搜索电子邮件的相关密码是否存在,如果存在,则应登录用户,否则应返回一条消息。所有帮助将不胜感激。预先感谢。
function email_exists(email) {
mydb.transaction(function(transaction) {
transaction.executeSql("select id from user where email= " + email + " ", [], function(tx, result) {
alert("email exists");
},
function(error) {
alert("Email does not exist");
});
});
}
答案 0 :(得分:1)
您可以这样做,
function email_exists(email) {
db.transaction(function (tx) {
tx.executeSql(
'SELECT * FROM user WHERE email=? LIMIT 1',
[email],
function (tx, result) {
if(result.rows.length){
// user found
alert("User found - ", result.rows[0]);
}
else {
// email does not exists
alert("User not found");
}
},
null
);
});
}
此处要注意的一件事是,您可以使用替代方法(?
)避免sql注入,而不是在SQL查询中串联查询参数。
进一步阅读here