Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
luamysql更新语句和where子句_Mysql_Database_Lua - Fatal编程技术网

luamysql更新语句和where子句

luamysql更新语句和where子句,mysql,database,lua,Mysql,Database,Lua,所以我试图用LuaSQL和mySQL运行一个更新,但似乎只停留在一个地方。每当我尝试更新时,WHERE子句总是在我身上失败,指出该列不存在。但是,该列是正确的,并且输出提供了不同的列名。这是update子句,以及运行它之后的结果 status,errorString = assert(conn:execute[[UPDATE Users SET count=count+1 WHERE userID = user#id50589297]])) lua: test3.lua:16: LuaSQL:

所以我试图用LuaSQL和mySQL运行一个更新,但似乎只停留在一个地方。每当我尝试更新时,
WHERE
子句总是在我身上失败,指出该列不存在。但是,该列是正确的,并且输出提供了不同的列名。这是update子句,以及运行它之后的结果

status,errorString = assert(conn:execute[[UPDATE Users SET count=count+1 WHERE userID = user#id50589297]]))

lua: test3.lua:16: LuaSQL: error executing query. MySQL: Unknown column 'user' in 'where clause'
stack traceback:
    [C]: in function 'assert'
    test3.lua:16: in main chunk
    [C]: in ?

您的字符串
user 35; id50589297
缺少引号,它正试图将其解析为列标识符

status, err = assert(
  conn:execute[[UPDATE Users SET count=count+1 WHERE userID='user#id50589297']]))

工作得很有魅力!所以我想如果我要使用一个变量,我必须在变量中包含引号?在Lua中,
%q
格式说明符将添加引号。但为了安全起见,大多数SQL库都提供了转义功能,以避免您应该使用的SQL注入。可能是
conn:escape
?我还没有在任何Lua库中这样做过。