Javascript和web sql插入和更新查询不能用?

问题描述 投票:0回答:1

我正在开发一个web应用程序,首先检查用户的电子邮件是否存在,如果存在,则执行更新查询,否则执行插入查询。

我的代码

 function checkLocalDB(name,pass,auth){
    db.transaction(function (tx) {
      tx.executeSql('SELECT * FROM loginUsers WHERE user_Name="'+name+'"', [], function (tx, result) {
        dataset = result.rows;
        if(dataset.length > 0){    
            db.transaction(function (tx) {          
              tx.executeSql("UPDATE loginUsers SET authToken=? WHERE id = '2'", [auth]);
            });
        }else{ 
            var query = 'INSERT INTO loginUsers (user_Name , password , authToken) VALUES ("'+name+'" ,"'+pass+'" , "'+auth+'")';
            dbInteract(query);                                
        }
     });
   });
 }

该功能无法使用,这有什么问题吗?

javascript web-sql
1个回答
0
投票

这是个老帖子了,但如果有人遇到类似的问题(我遇到这个帖子的时候),问题是这样的。

tx.executeSql('SELECT * FROM loginUsers WHERE user_Name="'+name+'"', [], function (tx, result) {

应该是。

tx.executeSql('SELECT * FROM loginUsers WHERE user_Name=?', [name], function (tx, result) {。

和这一行。

var query = 'INSERT INTO loginUsers (user_Name , password , authToken) VALUES ("'+name+'", "'+pass+'", "'+auth+'")';

应该是。

var query = 'INSERT INTO loginUsers (user_Name , password , authToken) VALUES (?, ?, ?)', [name, pass, auth];

不管什么原因,他们确实在第二个查询中输入了正确的变量。

© www.soinside.com 2019 - 2024. All rights reserved.