1

关于 luaSQL 中准备好的语句的文档很少。所以我尝试将一些代码放在一起,以便在 LuaSQL 中使用准备好的语句。不幸的是,它不起作用。
(我使用的是 mysql 数据库)

luasql = require "luasql.mysql"
env = assert (luasql.mysql())
con = assert (env:connect("database","user","password","localhost"))
name = "insert_sql_injection_code_here"
query= "INSERT INTO `table`(`text`) VALUES ('"..name.."')"
cur = assert (con:execute(query))
-- As you can see, query is vulnerable to SQLinjection. Fix: use prepared statements:
smtp = assert(con:prepare("insert into settings (text) values(:p_name)"))
con:bind_names({p_name=name})
cur = assert (con:execute())

给出输出:

lua: test.lua:8: attempt to call method 'prepare' (a nil value)

有没有人在 Lua 中使用 LuaSQL 准备语句的工作示例?

4

0 回答 0