[Mysql] mysql_ping

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    ich habe heute auf r31 geupdatet. mysql_ping existiert ja nicht mehr, nur weiß ich nicht wie ich dies umschreiben soll.
    Code:

    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    if(mysql_ping() == 1)
    {
    print("SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt.");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    }
    else
    {
    print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print(" Es wird erneut versucht eine Verbindung zur Datenbank herzustellen.");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    if(mysql_ping() == 1)
    {
    print("SERVER: Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    }
    else
    {
    print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print(" Server wird heruntergefahren ...");
    SendRconCommand("exit");
    return 1;
    }
    }

  • versuch es mal mit
    mysql_errno()


    ungefähr so


    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    if(mysql_errno() == 0)
    {
    print("SERVER: Verbindung zur Datenbank wurde erfolgreich hergestellt.");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    }
    else
    {
    print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print(" Es wird erneut versucht eine Verbindung zur Datenbank herzustellen.");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    MySqlConnection = mysql_connect(SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    if(mysql_errno() != 0)
    {
    print("SERVER: Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
    printf("Host: %s,User: %s,Datanbank: %s,Passwort: %s",SQL_HOST,SQL_USER,SQL_DATA,SQL_PASS);
    }
    else
    {
    print("SERVER: Es konnte keine Verbindung zur Datenbank hergestellt werden!");
    print(" Server wird heruntergefahren ...");
    SendRconCommand("exit");
    return 1;
    }
    }

  • Verbinde dich doch mit dem MySQL Server und sende ein ganz einfach SQL Kommando an ihn ( "SELECT NOW()" )
    Solltest du erfolgreich ein Ergebnis erhalten ist die Verbindung hergestellt worden.
    Für den Fall es kommt kein Ergebnis im Script an, startest du auch noch nach der Verbindung einen Timer und prüfst beim Aufruf der Funktion durch den Timer ob die Verbindung hergestellt wurde ( Über eine Variable zB ).
    So funktioniert es definitiv. Über errno weiss ich nichts.

  • So,


    danke euch beiden.
    Nun zeigt der mir an es fehlen noch an anderen Stellen mysql_errno.
    Folgende habe ich nun abgeändert, bin mir aber nicht sicher ob Sie richtig sind.

    public LoadAccount(playerid,pass[],passwortstate)
    {
    new query[356],result[25],rows,fields;
    if(mysql_errno() == 0)
    {
    getdate(tag,monat,jahr);
    gettime(stunde,minute,sekunde);
    ForEachPlayer(i)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1)
    {
    SaveAccount(i);
    }
    }
    Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!");
    OnGameModeSave();
    GameModeExit();
    return 1;
    }


    public LoadAccountVehicles(playerid,slot)
    {
    new result[25],rows,fields;
    if(mysql_errno() == 0)
    {
    getdate(tag,monat,jahr);
    gettime(stunde,minute,sekunde);
    ForEachPlayer(i)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1)
    {
    SaveAccount(i);
    }
    }
    Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!");
    OnGameModeSave();
    GameModeExit();
    return 1;
    }


    public OnQueryFinish2(index[],index2[],sqlresultid,extraid,extraid2,SconnectionHandle)
    {
    new query[1000],rows,fields;
    if(SconnectionHandle != MySqlConnection || mysql_errno() == 1)
    {
    getdate(tag,monat,jahr);
    gettime(stunde,minute,sekunde);
    ForEachPlayer(i)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1)
    {
    SaveAccount(i);
    }
    }
    Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!");
    OnGameModeSave();
    GameModeExit();
    return 1;
    }


    public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
    {
    new query[4000],result[64],rows,fields;
    if(SconnectionHandle != MySqlConnection || mysql_errno() == 1)
    {
    getdate(tag,monat,jahr);
    gettime(stunde,minute,sekunde);
    ForEachPlayer(i)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i) && GetPVarInt(i,"Eingeloggt") == 1)
    {
    SaveAccount(i);
    }
    }
    Log("Restartssqllog","Admin: System hat den Server gerestartet(Dead MySql Connection)!");
    OnGameModeSave();
    GameModeExit();
    return 1;
    }


    //Edit:
    Nun kommen noch folgende Warnings auf.

    C:\Users\User\Desktop\Server\gamemodes\GeTmyselfmade.pwn(88350) : warning 224: indeterminate array size in "sizeof" expression (symbol "max_len")
    C:\Users\User\Desktop\Server\gamemodes\GeTmyselfmade.pwn(88351) : warning 224: indeterminate array size in "sizeof" expression (symbol "max_len")
    C:\Users\User\Desktop\Server\gamemodes\GeTmyselfmade.pwn(88352) : warning 224: indeterminate array size in "sizeof" expression (symbol "max_len")
    C:\Users\User\Desktop\Server\gamemodes\GeTmyselfmade.pwn(88353) : warning 224: indeterminate array size in "sizeof" expression (symbol "max_len")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Warnings.


    Code: http://pastebin.de/36296


    //Edit: Warning hinzugefügt