JavaScript 登录功能无法使用 WebSQL

标签 javascript cordova web-sql

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

最佳答案

你可以这样做,

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 注入(inject),而不是在 SQL 查询中连接查询参数。

进一步阅读 here

关于JavaScript 登录功能无法使用 WebSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51454168/

相关文章:

javascript - 如何在 VueJs 中显示数组中的单个对象?

javascript - 通过 onsubmit 和 onclick 进行表单输入验证有什么区别?

android - 无法使用 cordova-plugin-facebook4 和 phonegap-plugin-barcodescanner 构建 cordova 应用程序

android - 在 WebSQL 上插入 blob

javascript - 打开数据库 Hello World

javascript - jquery 单击 div 上的绑定(bind),影响驻留在其中的文本框

javascript - 使用 Firefox/OS X 检测锁定屏幕或正在运行的屏幕保护程序

javascript - Cordova 3.0 - 在 iOS 的外部浏览器中打开链接

jquery - 用于测试和调试 HTML5 手机游戏的开发平台/模拟器

javascript - 如何以编程方式删除 WebSQL 中的数据库?