JavaScript登录功能在使用WebSQL时无法正常工作

3

我正在尝试使用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");
      });
  });
}
1个回答

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注入。

这里继续阅读


非常感谢你,Mohit。我会尝试这种方法并发送反馈。 - Thandok Luthuli
@ThandokLuthuli,我很高兴它有帮助。你现在可以关闭问题了。如果你还有其他未解决的问题,请提出来。 - mohitSehgal
我想进一步使用这个函数来检查电子邮件的匹配密码,然后登录用户。 - Thandok Luthuli
你可以在第一个块中检查密码,如果密码匹配,则登录用户。明白吗! - mohitSehgal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接