我是新来的,所以我首先想打个招呼。
我的问题是我正在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/