我正在开发一个Web应用程序,最初检查用户的电子邮件是否存在,是否存在均表示,执行更新查询else ecare ecute insert查询
我的代码
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);
}
});
});
}
此功能不起作用,此功能有什么问题
这是一个旧帖子,但是如果其他人有类似的问题(我遇到了这个线程,我遇到了这个问题(,这是:
tx.executesql('select *从loginusers where user_name ="' name '",[],function(tx,结果({
应该是:
tx.executesql('select *从loginusers where user_name =?',[name],function(tx,结果({
和这一行:
var query ='插入登录器(user_name,password,authtoken(values("' name '","' pass '","' auth '"(';
应该是:
var query ='插入登录器(user_name,password,authtoken(value(?,??(',[name,pass,auth];
出于任何原因,他们确实在第二个查询中输入了变量。