2011-02-08 15 views
3

我正在試驗一個簡單的基於HTML5本地存儲的應用程序,我在替換參數時出錯(也許)在我的代碼中。HTML本地存儲參數替換轉義

的SQL行我想執行的是:

SELECT name, title FROM testTable WHERE name LIKE '%test%';

所以我的Javascript線是一樣的東西:

tx.executeSql("SELECT name, title FROM testTable WHERE name LIKE '%?%'", [ search_string ],

這將失敗,(我認爲),因爲?是被作爲文字處理,所以解析器抱怨太多參數(search_string)。

我樂觀地嘗試使用???["'%", search_string, "%'"]但結果相同。

任何建議 - 我想這是真的很明顯,所以請溫柔。

回答

3

如何:

tx.executeSql( 
    "SELECT name, title FROM testTable WHERE name LIKE ?", 
    [ '%'+search_string+'%' ] 
    ); 
+0

我想這可能是明顯的東西!謝謝你奈德。我感到驚訝的是,最終並沒有像我認爲無效的「LIKE%foo%」結尾的SQL字符串 - 我認爲你需要在字符串周圍。不過,它適用於我。 – speedwell 2011-02-08 21:59:04