String 将数组中的字符串串联为Lua中的长字符串
到目前为止,我有这个String 将数组中的字符串串联为Lua中的长字符串,string,lua,string-concatenation,lua-table,String,Lua,String Concatenation,Lua Table,到目前为止,我有这个 mk= {} mk = conn:query({ live=true, sql="select * from OrderReports where OrderId= '"..T.OrderId.."'"}) for a=1, # mk do end 我希望将mk中不同索引处的字符串连接起来并存储在变量中,比如说lk,主体中应该包含什么?直接的方法是将主体中的字符串连接起来,如下所示: local lk = "" for a = 1, # mk do lk =
mk= {}
mk = conn:query({ live=true, sql="select * from OrderReports where OrderId= '"..T.OrderId.."'"})
for a=1, # mk do
end
我希望将
mk
中不同索引处的字符串连接起来并存储在变量中,比如说lk
,主体中应该包含什么?直接的方法是将主体中的字符串连接起来,如下所示:
local lk = ""
for a = 1, # mk do
lk = lk .. mk[a]
end
但是,当表很大时,这种方法的性能很差,因为字符串在Lua中是不可变的。将创建一个新字符串,并在每个循环中复制内容
相反,您应该为此作业使用内置功能:
local lk = table.concat(mk)
第一个错误表示不能在Concatenation中使用带有子节点的节点。第二个错误表示“错误参数#1到'?”(应为表,获取用户数据)@Simrankaur您说过,mk
是一个数组,在Lua中,这意味着它是一个索引仅从1
到某个整数值的表。但从您的错误消息来看,它不是,它的类型是userdata
。谢谢您,于浩,它工作了:),这是由于其他原因而导致的错误,我的错误。谢谢:)小心连接字符串以将数据放入SQL查询;它为SQL注入攻击打开了大门。虽然这个示例可能不是太不安全,但如果引擎支持它,最好使用准备好的语句和绑定(所有有能力的都应该支持)。