require( "mysqloo" )
require( "tmysql4" )
isqldb = mysqloo.connect(DETAILS) || { }
isql = isqldb || { }
--[[---------------------------------------------------------
Initialises iSQL
-----------------------------------------------------------]]
function isql.Connect(addr, u, p, database)
print( "MySQL Connecting:", addr )
isqldb = mysqloo.connect(addr, u, p, database, 3306)
-- tsql hack
tmysql.initialize(addr, u, p, database, 3306)
function isqldb.onConnected()
print( "MySQL Server Version:", self:serverVersion() )
print( "MySQL Server Info:", self:serverInfo() )
print( "MySQL Host Info:", self:hostInfo() )
Msg("iSQL: Sucessfully connected to " .. addr .."\n")
end
function isqldb.onConnectionFailed(self, error)
print( "MySQL Connection Failed! Error:", error )
end
isqldb:connect()
return true
end
--[[---------------------------------------------------------
Query
-----------------------------------------------------------]]
function isql.Query( query, qtype )
if not isqldb then
MsgN("premature db call:")
debug.Trace()
end
local q = isqldb:query( query )
q:start()
q:wait()
if (q:error() == "") then
return q:getData(), true
else
q:error()
return nil, false
end
end
我正在尝试运行它来连接并执行我的mysql服务器,但它不会连接或调试。谁能注意到我在哪里出错?
这是使用mysqloo和tmysql4还是我应该只使用mysqloo
它甚至没有说成功连接,我不确定为什么
最佳答案
这不是Mysqloo或tmysql4的方式,您实际上不应同时使用它们。
现在开始吧:
它是DATABASE_METATABLE:onConnected(),带有“:”而不是“”。
对于Mysqloo中所有函数的方法都相同。
为什么要这样写查询?
您有QUERY_METATABLE:onSuccess(data)和QUERY_METATABLE:onError(err,sql)
祝好运