如何插入这样的字符串:
local Namestring="my mother's gift"
local insertQuery1 =[[INSERT INTO planne_tbl VALUES (']]..Namestring..[[');]]
db:exec( insertQuery1 )
如何在sqlite中插入'
符号。
答案 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()
(这是不必要的复杂;你可能想为此编写辅助函数。)