2013-04-06 21 views
-1
var which = {}; 
    which['creditcards'] = "tx.executeSql('SELECT * FROM " + table + " ', [], querySucess, errorCB)"; 

    db.transaction(function(tx){ 
     which[table]; 

    }); 

我希望能夠根據點擊的變量動態插入select語句。這可能嗎?我是否以正確的方式開展工作?我可以在javascript函數中動態插入方法

+1

這不是一個好主意讓我們看看客戶端的查詢,沒有辦法把它放在服務器上? – jdurango 2013-04-06 18:29:12

回答

0

是的,它是可能的,但沒有,你不似乎繞了正確的方式 - 我期望更多的東西像下面這樣:

function dbQueryWrapper(table) { // table is a string supplied from onclick etc 
    db.transaction (
     function(tx) { 
      tx.executeSql(
       'SELECT * FROM ?;', [ table ], querySucess, errorCB 
      ); 
     } 
    ); 
} 

與[]第二個參數是一個你想要傳入你的查詢的東西數組 - 每個項目都填滿了?在查詢

+0

您無法在WebSQL/SQLite中將列/表名作爲綁定參數傳遞。 – DCoder 2013-04-06 18:37:18

+0

請記住,jdurango是正確的,但出於安全原因,允許用戶查看查詢是一個非常糟糕的主意。使用參數(?+變量組合)也總是建議避免惡意SQL注入 – 2013-04-06 18:37:43

+0

沒有人看到我的查詢在其所有非常安全的我實際上只是想插入一個差異表,取決於他們在頁面上 – Dnaso 2013-04-06 19:57:55

相關問題