require ’socket‘
require ’luasql.mysql'
上述返回结果都是正常
但是执行 env = luasql.mysql(),报错:
stdin:1: attempt to index a nil value (global 'luasql')
stack traceback:
stdin:1: in main chunk
[C]: in ?
解决方法:
luasql= require ‘luasql.mysql'
env = luasql.mysql()或env = assert (luasql.mysql())
结果正常
原因:从lua 5.2 之后,require
不再定义全局变量,需要保存其返回值。
参考链接:
http://stackoverflow.com/questions/10854971/luasql-nil-value/11657205