lua_tostring在c代码中不能用于SQL函数

时间:2015-11-29 21:41:44

标签: c lua lua-api

我试图将我的条目应用于C语言中的sql代码中的lua。

我的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后,他无法捕获文件中的名称。有没有人知道可能是什么?

1 个答案:

答案 0 :(得分:2)

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