2013-10-08 58 views
0

我使用JavaScript API從Google Feeds API提取一些內容並嘗試將它們插入到Phonegap應用程序中的SQLite數據庫中。使用JS插入字符串到SQLite沒有語法錯誤

但是,由於抓取的內容字符串中的非轉義字符和特殊字符,我得到如此多的語法錯誤。因爲內容字符串的HTML代碼及其屬性及其值在引號內。

任何人都可以幫我解決這個問題嗎? 有人可以建議我執行PHP函數,比如addslashes,htmlentities,htmlspecialchars嗎?讓我知道一個正確的方法來做這個插入。只有JS。例如:

例如: 插入變量「content」是一個包含<div id="test" style="color:#000;">I'm tall and I'm "26" now.</div>的字符串,它需要插入到一個列中,html內容沒有任何錯誤。

var content = <div id="test" style="color:#000;">I'm tall and I'm "26" now.</div> 
tx.executeSql("INSERT INTO MyTable(id, Content) VALUES ('1',content)"); 

變量「content」具有單引號和雙引號,並且還可以包含許多特殊字符。因此,在插入到數據庫之前,內容變量必須格式化。

回答

1

要在SQL語句中,使用的參數使用任意字符串值:

var content = "!'§$%&/()=?+*~#|<..."; 
... 
tx.executeSql("INSERT INTO MyTable(ID, Name, Content) VALUES(?,?,?)", 
       [123, "Some Name", content]); 
0

可能是下面的代碼幫助之前,您出。

var db = window.sqlitePlugin.openDatabase("Databases", "1.0", "XYZ", 1000000); 

db.transaction(function(tx) { 
    var content = $("#test").html(); 

    tx.executeSql("INSERT INTO MyTable (id, Content) VALUES(?,?)",['1',content], querySuccess, errorCB);   
}, errorCB); 


<body> 
    <div id="test" style="color:#000;">I'm tall and I'm "26" now.</div> 
</body> 
相關問題