lua_tostring在C代码中的SQL函数中无法正常工作。

我正在尝试将我的lua代码应用到C语言的sql代码中。

我的lua文件有以下代码:

prepare_sql = {
    flvdb = "flv_database";
};

我的lua代码如下:

lua_getglobal(L, "prepare_sql");
lua_getfield(L, -1, "flvdb");
p->flvdb = lua_tostring(L, -1);

在应用lua代码之前,我的C代码正常工作:

sql_prepare(SqlPrepare *stax, const char *qry, ...);

之前:

if(SQLPASS != sql_prepare(sqltp, "INSERT INTO `flv_database` (`date`, `value`, `count`) VALUES (NOW(), '%d', '%d')", p->value, p->cnt))

之后:

if(SQLPASS != sql_prepare(sqltp, "INSERT INTO `%s` (`date`, `value`, `count`) VALUES (NOW(), '%d', '%d')", p->flvdb, p->value, p->cnt))

在应用lua代码之前,代码运行良好,但应用之后无法捕获文件中的名称。有没有人知道发生了什么?

点赞
用户5622901
用户5622901

因为无法使用变量表名准备查询。你的 Lua 代码没有问题。

2015-11-30 21:10:23