【问题标题】:Javascript and web sql insert and update query is not working?Javascript 和 web sql 插入和更新查询不起作用?
【发布时间】:2017-05-02 10:17:34
【问题描述】:

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

我的代码

 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);                                
        }
     });
   });
 }

这个功能不起作用,这是什么问题

【问题讨论】:

  • is not working 是什么意思?
  • 更新和插入查询未执行
  • 尝试将 dbInteract(query); 更改为 tx.executeSql(query)
  • 我也试过了,但它不起作用

标签: javascript web-sql


【解决方案1】:

这是一个旧帖子,但如果其他人有类似的问题(我遇到这个问题时遇到过),这里是问题:

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];

出于某种原因,他们确实在第二个查询中输入了变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-18
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-02
    • 1970-01-01
    • 2019-01-27
    相关资源
    最近更新 更多