使用corona在sqlite中插入查询?

时间:2013-09-27 08:18:13

标签: sqlite corona

如何插入这样的字符串:

 local Namestring="my mother's gift"

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

db:exec( insertQuery1 )

如何在sqlite中插入'符号。

1 个答案:

答案 0 :(得分: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()

(这是不必要的复杂;你可能想为此编写辅助函数。)