2013-09-27 95 views
0

如何插入一個字符串是這樣的:使用corona在sqlite中插入查詢?

local Namestring="my mother's gift" 

local insertQuery1 =[[INSERT INTO planne_tbl VALUES (']]..Namestring..[[');]] 

db:exec(insertQuery1) 

如何插入'符號sqlite的。

回答

1

通過連接字符串構造SQL命令不僅會導致格式問題,還會允許SQL injection attacks

在SQL中使用字符串值的推薦方法是使用參數。 在Lua中,它的工作原理是這樣的:

local Namestring="my mother's gift" 
local insertQuery1 = "INSERT INTO planne_tbl VALUES (?)" 
local stmt = db:prepare(insertQuery1) 
stmt:bind(1, Namestring) 
stmt:step() 
stmt:finalize() 

(這是不必要的複雜性,你可能要爲此編寫的輔助功能。)

+0

我們需要做同樣的選擇具有可變例如:local displayitems =「SELECT * FROM items WHERE code ='」.. itemcode ..「'and area ='」.. vararea ..「'」 –

+1

這些字符串也可以包含引號。 –