我是新来的,所以我首先想打个招呼。

我的问题是我正在Lua上开发游戏,例如,当我想更新数据库中的值时,它需要动态完成(由用户执行)。

当数据库中的值等于1时,用户可能希望将其更改为0(将bloom设置为off时)。

我可以使用以下方法进行硬编码:

for test in db:nrows("UPDATE test SET bloom = 1 WHERE bloom = 0") do


我想允许用户更改该值。但是我该怎么做呢?
我已经有一个占位符了

local bloom = 0

最佳答案

就像您应该对基于用户输入的任何查询一样,使用占位符,以避免将数据作为命令传递(又名SQL注入)。

local stmt = db:prepare[[
  UPDATE test SET bloom = ? WHERE bloom = ?
]]
stmt:bind(new_bloom, previous_bloom)
stmt:exec()

关于sqlite - Lua SQLite3更新值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14047483/

10-11 01:16