【发布时间】:2020-03-12 18:26:38
【问题描述】:
所以我有一个使用 LuaJIT 和 LuaPower 的 MySQL 客户端库的小游戏。
现在,我已成功建立连接,并且还可以选择表格,但我无法向表格中插入任何数据。
错误本身是:
致命错误[未处理的异常]:尝试调用未初始化的函数指针
这是我的 Lua 代码,所以你可以理解我想要做什么:
addhook("join", "onJoin")
addhook("minute", "saveStats")
addhook("say", "logChat")
addhook("say","onSay")
local mysql = require'mysql'
-- MySQL Connection Details:
sql_host = "localhost" -- Host
sql_user = "root" -- USER
sql_password = "1c%CIuROpD17" --Pass
sql_db_name = "cs2d" -- DBNAME
sql_port = 3306
local con = mysql.connect(sql_host, sql_user, sql_password, sql_db_name, 'utf8')
function onJoin(id)
local usgn = player(id, "usgn")
local ip = player(id, "ip")
local name = player(id, "name")
local datime = os.date("%c")
if usgn > 0 then
-- con:query("INSERT INTO `logins`(`col_int`,`col_varchar`,`col_varchar`,`col_varchar`,`col_datetime`) VALUES (usgn, ip, name, datime)")
print("a")
msg("new player joined!")
elseif usgn == 0 then
-- con:query("INSERT INTO `logins`(`col_int`,`col_varchar`,`col_varchar`) VALUES (name, datime)")
end
end
不幸的是,查询的格式似乎不正确,或者至少不知道我可以通过哪种方式实现这一点。
我似乎无法进一步调试它。但我相信必须与我尝试进行查询的方式相关,例如选择表使用相同的连接。
【问题讨论】:
-
这不是 Lua 错误,所以这是您正在使用的某些 C 模块中的错误。 “未初始化的函数指针”听起来像是在创建新对象时出现了问题,但它可能不是您可以修复的。
-
是的,你是完全正确的,我以某种方式解决了这个问题,因此部分功能已经完美地工作,但创建了一个新功能并再次设法得到这个致命错误。
-
@DarkWiiPlayer 你能回答这个问题吗?看来这实际上是问题所在。