sqlite
  • cordova
  • 2012-07-24 25 views 1 likes 
    1

    我正在使用cordova 1.9開發phonegap應用程序。
    我對這個語句的語法錯誤:Phonegap「near」。「」上的Sqlite錯誤:「語法錯誤」

    db.executeSql('UPDATE Reminder SET Reminder.reminderName ="'+ reminder_name + '", Reminder.reminderDescription = "' + description +'", Reminder.cellId='+ 1 +', Reminder.timetableId ='+1+', Reminder.reminderDeadline ="' + deadline +'" WHERE Reminder.RminId = "'+reminderId+'" '); 
    

    所以,我想知道我究竟做錯了什麼?

    +1

    不知道PhoneGap的,但如果這是在所有標準的SQL,然後我會交換單引號和雙引號。 SQL需要單引號,不是? (另外,這裏也有人對這個巨大的SQL注入安全漏洞發表評論) – 2012-07-24 08:16:31

    回答

    0

    可能是因1的問題。

    ,你進入了一個1,你要麼把這個變量或離開報價出來:

    db.executeSql('UPDATE Reminder SET Reminder.reminderName ="'+ reminder_name + '", Reminder.reminderDescription = "' + description +'", Reminder.cellId=1, Reminder.timetableId =1, Reminder.reminderDeadline ="' + deadline +'" WHERE Reminder.RminId = "'+reminderId+'" '); 
    

    var cellID = 1; 
    var timetableID = 1; 
    db.executeSql('UPDATE Reminder SET Reminder.reminderName ="'+ reminder_name + '", Reminder.reminderDescription = "' + description +'", Reminder.cellId='+ cellID +', Reminder.timetableId ='+timetableID+', Reminder.reminderDeadline ="' + deadline +'" WHERE Reminder.RminId = "'+reminderId+'" '); 
    
    0

    看起來像你的單引號和雙引號錯誤和混亂。
    試試這個:

    db.executeSql("UPDATE Reminder SET Reminder.reminderName = " 
          + reminder_name + ", Reminder.reminderDescription = " 
          + description + ", Reminder.cellId = " + 1 
          + ", Reminder.timetableId = " + 1 
          + ", Reminder.reminderDeadline = " + deadline 
          + " WHERE Reminder.RminId = " + reminderId + " "); 
    
    +0

    我試過你的解決方案,但它引發了同樣的錯誤! – N0rA 2012-07-24 08:25:56

    相關問題