Garrysmod SQL包装器

时间:2017-11-13 01:34:01

标签: mysql lua

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
它甚至没有说成功连接我不知道为什么

1 个答案:

答案 0 :(得分:0)

这不是Mysqloo和tmysql4的方式,你真的不应该同时使用它们。

让我们继续吧: 它的DATABASE_METATABLE:onConnected()与":"不是"。"

相同的所有方法都是Mysqloo中的函数。

为什么要写这样的查询? 你有QUERY_METATABLE:onSuccess(data)和QUERY_METATABLE:onError(err,sql)

祝你好运