如何使用变量而不是字符串插入 mysql 数据库
How to insert into mysql database using a variable instead of a string
我正在尝试使用 luasql.mysql 并从文件到 mysql 数据库执行多个 INSERT 语句。我似乎无法弄清楚如何使用字符串变量而不是使用字符串。我想从一个 for 循环执行,循环遍历一个字符串文件。任何帮助将不胜感激。
mysql = require "luasql.mysql"
local env = mysql.mysql()
local conn = env:connect('mydb','myusername','mypassword','myip')
print(env,conn)
file = io.open("sqldumps.sql")
lines = file:lines()
print("Contents of file:");
for line in lines do
status,errorString = conn:execute( '"line"' )
print(status,errorString )
end
其实很简单:
for line in file:lines() do
status, errorString = conn:execute(line)
print(status, errorString)
end
Lua 知道 line
是一个字符串,所以你不需要在它周围加任何引号。事实上,如果您添加它们,Lua 会将其视为实际文本“行”,而不是 line
变量的内容。
关于 for
循环的提示:file:lines()
恰好 return 可以在 for
循环中使用的单个函数,但这不是总是这样。
我正在尝试使用 luasql.mysql 并从文件到 mysql 数据库执行多个 INSERT 语句。我似乎无法弄清楚如何使用字符串变量而不是使用字符串。我想从一个 for 循环执行,循环遍历一个字符串文件。任何帮助将不胜感激。
mysql = require "luasql.mysql"
local env = mysql.mysql()
local conn = env:connect('mydb','myusername','mypassword','myip')
print(env,conn)
file = io.open("sqldumps.sql")
lines = file:lines()
print("Contents of file:");
for line in lines do
status,errorString = conn:execute( '"line"' )
print(status,errorString )
end
其实很简单:
for line in file:lines() do
status, errorString = conn:execute(line)
print(status, errorString)
end
Lua 知道 line
是一个字符串,所以你不需要在它周围加任何引号。事实上,如果您添加它们,Lua 会将其视为实际文本“行”,而不是 line
变量的内容。
关于 for
循环的提示:file:lines()
恰好 return 可以在 for
循环中使用的单个函数,但这不是总是这样。