Jump to content

[PROBLEM] With my MySQL and my server


Badotti_Loko

Recommended Posts

Hello guys, I recently brought a server in vortexservers.com and I'm having some problems with registration system, I downloaded the gamemode "Fort Carson Roleplay" but when I get in I can't register or log in, I made a table in "phpmyadmin" and changed the connection.sql (I set the MySQL username and password and things like that) and added libmysql to MTA/server and mta_mysql.dll to resources and deathmatch folder and added it in mta_config, what's the problem ? What I did wrong or what I've to do ? Can someone please help me ? I do have teamviewer and skype, if you've it too, let's use it, my skype is Hbadotti. Thanks a lot guys

Link to comment

I will try to solve your problem on forums, tell me if you have modules folder created where server folder is located?

put it into the mtaserver.conf:

  
    <module src="mta_mysql.dll" /> 
    <module src="sha.dll" /> 
    <module src="ml_sockets.dll" /> 
  

Link to comment
Ok, I already had and I added the other 2..

I've modules in server/mods/deathmatch folder and in server/mods/deathmatch/resources folder

Do I've to create another one in server folder ?

No. You need to have ONLY ONE in /modules and ONLY ONE in /server. Also, if you haven't already, you need to get the MySQL library and put it in the /deathmatch folder.

http://code.google.com/p/multitheftauto ... l&can=2&q=

Link to comment

There're 3 files

connection.lua

meta.xml

s_mysql.lua

connection.lua

  
-- connection settings 
local hostname = "localhost" 
local username = "HeitorB" 
local password = "mypass" 
local database = "HeitorBdb" 
local port = tonumber( get( "port" ) ) or 3306 
  
-- global things. 
local MySQLConnection = nil 
local resultPool = { } 
local sqllog = false 
local countqueries = 0 
  
-- connectToDatabase - Internal function, to spawn a DB connection 
function connectToDatabase(res) 
    MySQLConnection = mysql_connect(hostname, username, password, database, port) 
     
    if (not MySQLConnection) then 
        if (res == getThisResource()) then 
            cancelEvent(true, "Cannot connect to the database.") 
        end 
        return nil 
    end 
     
    return nil 
end 
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), connectToDatabase, false) 
     
-- destroyDatabaseConnection - Internal function, kill the connection if theres one. 
function destroyDatabaseConnection() 
    if (not MySQLConnection) then 
        return nil 
    end 
    mysql_close(MySQLConnection) 
    return nil 
end 
addEventHandler("onResourceStop", getResourceRootElement(getThisResource()), destroyDatabaseConnection, false) 
  
-- do something usefull here 
function logSQLError(str) 
    local message = str or 'N/A' 
    outputDebugString("MYSQL ERROR "..mysql_errno(MySQLConnection) .. ": " .. mysql_error(MySQLConnection)) 
    exports['logs']:logMessage("MYSQL ERROR ! [QUERY] " .. message .. " [ERROR] " .. mysql_errno(MySQLConnection) .. ": " .. mysql_error(MySQLConnection), 24) 
end 
  
function getFreeResultPoolID() 
    local size = #resultPool 
    if (size == 0) then 
        return 1  
    end 
    for index, query in ipairs(resultPool) do 
        if (query == nil) then 
            return index 
        end 
    end 
    return (size + 1) 
end 
  
------------ EXPORTED FUNCTIONS --------------- 
  
function ping() 
    if (mysql_ping(MySQLConnection) == false) then 
        -- FUU, NO MOAR CONNECTION 
        destroyDatabaseConnection() 
        connectToDatabase(nil) 
        if (mysql_ping(MySQLConnection) == false) then 
            logSQLError() 
            return false 
        end 
        return true 
    end 
  
    return true 
end 
  
function escape_string(str) 
    if (ping()) then 
        return mysql_escape_string(MySQLConnection, str) 
    end 
    return false 
end 
  
function query(str) 
    if sqllog then 
        exports['logs']:logMessage(str, 24) 
    end 
    countqueries = countqueries + 1 
     
    if (ping()) then 
        local result = mysql_query(MySQLConnection, str) 
        if (not result) then 
            logSQLError(str) 
            return false 
        end 
  
        local resultid = getFreeResultPoolID() 
        resultPool[resultid] = result 
        return resultid 
    end 
    return false 
end 
  
function unbuffered_query(str) 
    if sqllog then 
        exports['logs']:logMessage(str, 24) 
    end 
    countqueries = countqueries + 1 
     
    if (ping()) then 
        local result = mysql_unbuffered_query(MySQLConnection, str) 
        if (not result) then 
            logSQLError(str) 
            return false 
        end 
  
        local resultid = getFreeResultPoolID() 
        resultPool[resultid] = result 
        return resultid 
    end 
    return false 
end 
  
function query_free(str) 
    local queryresult = query(str) 
    if  not (queryresult == false) then 
        free_result(queryresult) 
        return true 
    end 
    return false 
end 
  
function rows_assoc(resultid) 
    if (not resultPool[resultid]) then 
        return false 
    end 
    return mysql_rows_assoc(resultPool[resultid]) 
end 
  
function fetch_assoc(resultid) 
    if (not resultPool[resultid]) then 
        return false 
    end 
    return mysql_fetch_assoc(resultPool[resultid]) 
end 
  
function free_result(resultid) 
    if (not resultPool[resultid]) then 
        return false 
    end 
    mysql_free_result(resultPool[resultid]) 
    table.remove(resultPool, resultid) 
    return nil 
end 
  
-- incase a nub wants to use it, FINE 
function result(resultid, row_offset, field_offset) 
    if (not resultPool[resultid]) then 
        return false 
    end 
    return mysql_result(resultPool[resultid], row_offset, field_offset) 
end 
  
function num_rows(resultid) 
    if (not resultPool[resultid]) then 
        return false 
    end 
    return mysql_num_rows(resultPool[resultid]) 
     
end 
  
function insert_id() 
    return mysql_insert_id(MySQLConnection) or false 
end 
  
function query_fetch_assoc(str) 
    local queryresult = query(str) 
    if  not (queryresult == false) then 
        local result = fetch_assoc(queryresult) 
        free_result(queryresult) 
        return result 
    end 
    return false 
end 
  
function query_rows_assoc(str) 
    local queryresult = query(str) 
    if  not (queryresult == false) then 
        local result = rows_assoc(queryresult) 
        free_result(queryresult) 
        return result 
    end 
    return false 
end 
  
function query_insert_free(str) 
    local queryresult = query(str) 
    if  not (queryresult == false) then 
        local result = insert_id() 
        free_result(queryresult) 
        return result 
    end 
    return false 
end 
  
function escape_string(str) 
    return mysql_escape_string(MySQLConnection, str) 
end 
  
function debugMode() 
    if (sqllog) then 
        sqllog = false 
    else 
        sqllog = true 
    end 
    return sqllog 
end 
  
function returnQueryStats() 
    return countqueries 
    -- maybe later more 
end 

meta.xml

<meta> 
        <info author="vG MTA Scripting Team" type="script" description="MySQL"/> 
         
        <script src="s_mysql.lua" type="server"/> 
         
        <export function="getMySQLUsername" type="server"/> 
        <export function="getMySQLPassword" type="server"/> 
        <export function="getMySQLDBName" type="server"/> 
        <export function="getMySQLHost" type="server"/> 
        <export function="getMySQLPort" type="server"/> 
         
        <!-- above is legacy --> 
         
        <script src="connection.lua"        type="server" /> 
        <export function="ping"             type="server" http="false" /> 
        <export function="escape_string"    type="server" http="false" /> 
        <export function="query"            type="server" http="false" /> 
        <export function="unbuffered_query" type="server" http="false" /> 
        <export function="query_free"       type="server" http="false" /> 
        <export function="fetch_assoc"      type="server" http="false" /> 
        <export function="rows_assoc"       type="server" http="false" /> 
        <export function="free_result"      type="server" http="false" /> 
        <export function="result"           type="server" http="false" /> 
        <export function="num_rows"         type="server" http="false" /> 
        <export function="query_fetch_assoc"type="server" http="false" /> 
        <export function="query_rows_assoc" type="server" http="false" /> 
        <export function="insert_id"        type="server" http="false" /> 
        <export function="query_rows_assoc" type="server" http="false" /> 
        <export function="query_insert_free"type="server" http="false" /> 
        <export function="escape_string"    type="server" http="false" /> 
        <export function="debugMode"        type="server" http="false" /> 
        <export function="returnQueryStats" type="server" http="false" /> 
</meta> 
  

s_mysql.lua

username = "HeitorB" 
password = "mypass" 
db = "HeitorBdb" 
host = "localhost" 
port = tonumber( get( "port" ) ) or 3306 
  
function getMySQLUsername() 
    return username 
end 
  
function getMySQLPassword() 
    return password 
end 
  
function getMySQLDBName() 
    return db 
end 
  
function getMySQLHost() 
    return host 
end 
  
function getMySQLPort() 
    return port 
end 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...