mysql - Garrysmod SQL 包装器

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

最佳答案

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

现在让我们继续: 它是 DATABASE_METATABLE:onConnected(),带有“:”而不是“。”

对于 Mysqloo 中的所有函数方法都是如此。

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

祝你好运

关于mysql - Garrysmod SQL 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47255938/

相关文章:

mysql - SQL 选择父项作为列名,子项作为值

c# - 在 C++ DLL 中包含 Lua 使其与 C# 不兼容?

lua - Premake5 不会在 FreeBSD 10.1 上构建

lua - ESPlorer 无法与 ESP8266 通信

使用 InnoDB 引擎创建表时出现 MySQL 1005 错误

mysql - 使用 != 条件运算符时不会选择默认空值

events - WOW插件开发/事件

c++ - 将现有的 C++ 对象传递给 Lua 并调用传递的对象的成员函数

mysql - Codeigniter - 插入批处理 - mysql

php - 如果存在 mysqli php 则编辑重复项