Error in executeSql request

I am developing a cordova application where I need to create a login and register. But when I start the application, I get the error message "SQL error handling: undefined". I understand that I am getting this error due to executeSql in insertUSERREG. But I have no idea why I get this error. Please, help.

html file:

 <form method="get" action="" onsubmit="return RegisteringUsers()">
        <fieldset class="ui-field-contain">
        <label for="name">Name:</label>
        <input type="text" name="name" id="name" value="" placeholder="Name"/>
        <label for="username">Account User Name:</label>
        <input type="text" name="username" id="username" value="" placeholder="User Name"/>
        <label for="email">Email: </label>
        <input type="email" name="email" id="email" value="" placeholder="Email"/>
        <label for="password">Password: </label>
         <input type="password" name="password" id="password" value="" placeholder="Your Password" autocomplete="off"/>
         <input type="Submit" name="submit" id="submit" value="Register" />
      </fieldset>
    </form>

Javascrpit file:

document.addEventListener("deviceready", onDeviceReady, false);
var db ;
function onDeviceReady() {
     db = window.openDatabase("Database", "1.0", "Cordova Demo",2000000000);
    db.transaction(createDB, error1, successCB);
    window.localStorage.setItem("user","Not Logged In");
}

function createDB(tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS USERSREG (db_name,db_una,db_email,db_password)');
    tx.executeSql('DROP TABLE IF EXISTS CARTORDER ');
    tx.executeSql('CREATE TABLE IF NOT EXISTS CARTORDER (db_una, db_itemName, db_itemPrice , db_qty)');
}
function errorCB(err) {
    alert("Error processing SQL: "+err.code);
}

function successCB() {

}  



 function RegisteringUsers(){   
 db.transaction(insertUSERREG, error2); 

 return false;
}  
 function insertUSERREG(tx){   
    var insertname = $('[name="name"]').val();
    var insertuna= $('[name="username"]').val();
    var insertemail= $('[name="email"]').val();
    var insertpassword= $('[name="password"]').val();           
    var sql='INSERT INTO USERSREG (db_name,db_una, db_email,db_password) VALUES (?, ?,?,?)';



     tx.executeSql(sql, [insertname ,insertuna,insertemail,insertpassword] ,SuccessqueryDB, errorCB);

 }
 function SuccessqueryDB(tx) {
    alert("Registered Sucessfully");
        $.mobile.changePage ("Home.html",{reverse: false,transition :"pop"});
} 
 function error2 () {
  alert("error2");
  }
+4
source share
1 answer

I can suggest a few elements that may have gone wrong:

  • tx undefined
  • One of them: insertname, insertuna, insertemail, insertpassword undefined.

You can use alert () and console.log to check their values.

+1
source

All Articles