Jump to content

MySQL Problem


sylver

Recommended Posts

Posted

Hi i installed mta paradise in my server i have mysql problem

[21:46:59] ERROR: ...ate/tfcklan1/mods/deathmatch/resources/sql/mysql.lua:35: bad argument #1 to 'mysql_connect' (string expected, got nil) 
[21:46:59] ERROR: call: failed to call 'sql:query_assoc_single' 
[21:46:59] ERROR: ...ate/tfcklan1/mods/deathmatch/resources/sql/mysql.lua:35: bad argument #1 to 'mysql_connect' (string expected, got nil) 
[21:46:59] ERROR: call: failed to call 'sql:query_assoc_single' 

Posted

do you have the MySQL module and a MySQL server running?

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted

i assume he have it:

bad argument #1 to 'mysql_connect' (string expected, got nil) 

without mysql module it won't know that mysql_connect is expecting string

and as you can see: no strings are send to mysql_connect so i think there is something wrong with resource that calls mysql_connect, OR no mysql configuration is set.

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

Posted

I install modules

[21:46:56] MODULE: Loaded "MySQL 5.0 database module" (0.41) by "Alberto Alonso <[email protected]>" 
[21:46:56] MODULE: Loaded "SHA Module" (1.02) by "mabako" 
[21:46:56] MODULE: Loaded "Sockets Module" (0.10) by "Gamesnert, mabako, MCvarial & x86" 

[21:46:59] ERROR: ...ate/tfcklan1/mods/deathmatch/resources/sql/mysql.lua:35: bad argument #1 to 'mysql_connect' (string expected, got nil) 
[21:46:59] ERROR: call: failed to call 'sql:query_assoc_single' 
[21:46:59] ERROR: ...ate/tfcklan1/mods/deathmatch/resources/sql/mysql.lua:35: bad argument #1 to 'mysql_connect' (string expected, got nil) 
[21:46:59] ERROR: call: failed to call 'sql:query_assoc_single' 

Posted

do you have MySQL server?

and did you configured database IP, name, login, password?

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

Posted

Yes i have ...

I am configuring database

local connection = nil 
local connection = nil 
local null = nil 
local results = { } 
local max_results = 128 
  
-- connection functions 
local function connect( ) 
    -- retrieve the settings 
    local server = get( "server" ) or "localhost" 
    local user = get( "user" ) or "****" 
    local password = get( "password" ) or "****" 
    local db = get( "database" ) or "****" 
    local port = get( "port" ) or 3306 
    local socket = get( "socket" ) or nil 
     
    -- connect 
    connection = mysql_connect ( localhost, ****,****, ****, 3306, socket  ) 
    if connection then 
        return true 
    else 
        outputDebugString ( "Connection to MySQL Failed.", 1 ) 
        return false 
    end 
end 
  
local function disconnect( ) 
    if connection and mysql_ping( connection ) then 
        mysql_close( connection ) 
    end 
end 
  
local function checkConnection( ) 
    if not connection or not mysql_ping( connection ) then 
        return connect( ) 
    end 
    return true 
end 
  
addEventHandler( "onResourceStart", resourceRoot, 
    function( ) 
        if not mysql_connect then 
            if hasObjectPermissionTo( resource, "function.shutdown" ) then 
                shutdown( "MySQL module missing." ) 
            end 
            cancelEvent( true, "MySQL module missing." ) 
        elseif not hasObjectPermissionTo( resource, "function.mysql_connect" ) then 
            if hasObjectPermissionTo( resource, "function.shutdown" ) then 
                shutdown( "Insufficient ACL rights for mysql resource." ) 
            end 
            cancelEvent( true, "Insufficient ACL rights for mysql resource." ) 
        elseif not connect( ) then 
            if connection then 
                outputDebugString( mysql_error( connection ), 1 ) 
            end 
             
            if hasObjectPermissionTo( resource, "function.shutdown" ) then 
                shutdown( "MySQL failed to connect." ) 
            end 
            cancelEvent( true, "MySQL failed to connect." ) 
        else 
            null = mysql_null( ) 
        end 
    end 
) 
  
addEventHandler( "onResourceStop", resourceRoot, 
    function( ) 
        for key, value in pairs( results ) do 
            mysql_free_result( value.r ) 
            outputDebugString( "Query not free()'d: " .. value.q, 2 ) 
        end 
         
        disconnect( ) 
    end 
) 
  
-- 
  
function escape_string( str ) 
    if type( str ) == "string" then 
        return mysql_escape_string( connection, str ) 
    elseif type( str ) == "number" then 
        return tostring( str ) 
    end 
end 
  
function query( str, ... ) 
    checkConnection( ) 
     
    if ( ... ) then 
        local t = { ... } 
        for k, v in ipairs( t ) do 
            t[ k ] = escape_string( tostring( v ) ) or "" 
        end 
        str = str:format( unpack( t ) ) 
    end 
     
    local result = mysql_query( connection, str ) 
    if result then 
        for num = 1, max_results do 
            if not results[ num ] then 
                results[ num ] = { r = result, q = str } 
                return num 
            end 
        end 
        mysql_free_result( result ) 
        return false, "Unable to allocate result in pool" 
    end 
    return false, mysql_error( connection ) 
end 
  
function query_free( str, ... ) 
    checkConnection( ) 
     
    if ( ... ) then 
        local t = { ... } 
        for k, v in ipairs( t ) do 
            t[ k ] = escape_string( tostring( v ) ) or "" 
        end 
        str = str:format( unpack( t ) ) 
    end 
     
    local result = mysql_query( connection, str ) 
    if result then 
        mysql_free_result( result ) 
        return true 
    end 
    return false, mysql_error( connection ) 
end 
  
function free_result( result ) 
    if results[ result ] then 
        mysql_free_result( results[ result ].r ) 
        results[ result ] = nil 
    end 
end 
  
function query_assoc( str, ... ) 
    local t = { } 
    local result, error = query( str, ... ) 
    if result then 
        for result, row in mysql_rows_assoc( results[ result ].r ) do 
            local num = #t + 1 
            t[ num ] = { } 
            for key, value in pairs( row ) do 
                if value ~= null then 
                    t[ num ][ key ] = tonumber( value ) or value 
                end 
            end 
        end 
        free_result( result ) 
        return t 
    end 
    return false, error 
end 
  
function query_assoc_single( str, ... ) 
    local t = { } 
    local result, error = query( str, ... ) 
    if result then 
        local row = mysql_fetch_assoc( results[ result ].r ) 
        if row then 
            for key, value in pairs( row ) do 
                if value ~= null then 
                    t[ key ] = tonumber( value ) or value 
                end 
            end 
            free_result( result ) 
            return t 
        end 
        free_result( result ) 
        return false 
    end 
    return false, error 
end 
  
function query_insertid( str, ... ) 
    local id = false 
    local result, error = query( str, ... ) 
    if result then 
        id = mysql_insert_id( connection ) 
        free_result( result ) 
        return id 
    end 
    return false, error 
end 

I have server and mysql in Germany.

Posted

this is wrong and causing error:

connection = mysql_connect ( localhost, ****,****, ****, 3306, socket  ) 

you should only edit lines 10-15

revert line 18 to original, and don't touch anything you dont have idea of.

Multi theft auto tools - replace cars and peds, move your map or compile your Lua files online!

programista php rzeszów

Need free webhosting for your small site? PM me. Need help with portforwarding? PM me. Do not PM me asking for help with scripting.

Having problems with port forwarding? Send me pm, I can do whole thing for you using TeamViewer (already helped about 20 people, no worries)!

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...