MySQL Fehler

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
  • Huhu.
    Ich komm grad nicht von der stelle weil da irgendwo ein fehler sein soll. Beim Compilen bekomm ich nichts angezeigt aber sobald ich connecte und per MySQL abgefragt wird ob ich einen Account habe spuckt die MySQL-Log nur noch fehler aus und es geht nichts mehr. Ich hab keine ahnung wo der Fehler liegt in einem Anderen script von mir funktioniert es einwandfrei... Naja hier mal der Fehler vllt weiss ja jemand was das sein könnte.
    MySQL-Log


    Hier die abfrage ab ab wann es fehler gibt:

    stock mysql_CheckAccount(playerid)
    {
    new Query1[128];
    format(Query1, sizeof(Query1), "SELECT * FROM `Accounts` WHERE `Name` = '%s'", SpielerName[playerid]);
    mysql_query(Query1);
    mysql_store_result();
    if(mysql_num_rows() == 0) return 0;
    else if(mysql_num_rows() == 1) return 1;
    else return 2;
    }

    Das problem ist aber selbst wenn ich die funktion nicht benutze, also auskommentiere, fängt es bei der nächsten mysql aktion an mit fehler um sich zu werfen...
    Das nächste währe dann

    stock CreateAccount(playerid, pass[])
    {
    new query[256];
    format(query, sizeof(query), "INSERT INTO accounts (Name, Passwort) VALUES ('%s', '%s')", SpielerName[playerid], pass);
    mysql_query(query);
    return true;
    }

    und Spukt wie gesagt auch fehler aus:

    Code
    [22:31:50]  
    [22:31:50] ---------------------------
    [22:31:50] MySQL Debugging activated (11/01/10)
    [22:31:50] ---------------------------
    [22:31:50]  
    [22:32:19] >> mysql_query( Connection handle: 1 )
    [22:32:19] >> mysql_query() - Invalid connection handle. (You set: 1, Highest connection handle ID is 0).


    Hab das plugin schon neu runtergeladen aber es bringt nichts. Weiss jmd ne lösung?

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Welches MySQl Plugin nutzt du?
    Nach den Ausgaben zu urteilen sieht es für mich so aus als ob die Verbindung zum Server fehlschlägt/zum datentransver die falsche verbindug gewählt wird..

  • Hmm kannst du mir den Report ausm MySQl Log ohne "[code]" Tag Posten
    Safari zeigt das nicht grad toll an xD aber ansich muss es an der Verbindung zum MySQL server liegen.. Poste mal bitte gleich die Zeile dazu wo der Server zum MySQL Server connected.
    /edit: Poste mal pls auh die Stock mit dem accountcheck ohne Code tag..

    Einmal editiert, zuletzt von PawnFreak ()

  • Das wird als erstes aufgerufen:

    //Oben im script:
    #define SQL_HOST "localhost"
    #define SQL_USER "***"
    #define SQL_DATA "***"
    #define SQL_PASS "***"
    //Unter OnGameModeInit()
    mysql_debug(1);
    Connect_To_Database();
    //stock dazu
    stock Connect_To_Database()
    {
    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
    if(mysql_ping() == 1)
    {
    print("MySql: Verbindung zur Datenbank wurde erfolgreich hergestellt");
    return true;
    }
    else
    {
    print("MySql: Es konnte keine Verbindung zur Datenbank hergestellt werden");
    print("MySql: Es wird erneut versucht eine Verbindung zur Datenbank herzustellen");
    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
    if(mysql_ping() == 1)
    {
    print("MySql: Es konnte im 2 Versuch eine Verbindung hergestellt werden");
    return true;
    }
    else
    {
    print("MySql: Es konnte keine Verbindung zur Datenbank hergestellt werden");
    print("Info: Der Server wird nun beendet");
    SendRconCommand("exit");
    return true;
    }
    }
    }
    Danach kommt die abfrage ob der account existiert:

    if(mysql_CheckAccount(playerid) == 0)
    {
    //blabla acc existiert nicht
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    //blabla acc existiert
    }
    else if(mysql_CheckAccount(playerid) == 2)
    {
    //blabla acc existiert mehrfach + warnmeldung an spieler (ist ja denk ich mal unwichtig^^)
    }


    //dann kommt halt das gui und wenn kein acc existiert wird einer erstellt (habs ohne acc getestet)
    WP_Hash(buf, sizeof(buf), inputtext);
    CreateAccount(playerid, buf);
    //stock dazu
    stock CreateAccount(playerid, pass[])
    {
    new query[256];
    format(query, sizeof(query), "INSERT INTO accounts (Name, Passwort) VALUES ('%s', '%s')", SpielerName[playerid], pass);
    mysql_query(query);
    return true;
    }

    Wie gesagt. Ab der Acc abfrage kommen die fehler bei jeder mysql aktion. Kommentiere ich die abfrage aus kommt der fehler ab der acc erstellung, weshalb ich nicht glaube das es daran liegt.

    The fact is, I am right. And if you think I'm wrong, you are wrong.