Komische Meldung in der Mysql_Log

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
  • Hey wie meine Überschrift schon sagt ich habe einen komischen Fehler in der Mysql_Log endeckt (Ich glaube dieser Fehler kam wo ich den server neugestartet habe und ihn nicht komplett ausgemacht habe und 2 spieler online waren).


    Hier der Fehler was könnte da falsch sein ?

    Code
    [20:58:01] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hallo Jake, dieser Account ist registriert. Bitte trage dein Passwort ein.' at line 1
    [20:59:43] [WARNING] CMySQLHandle::Create - connection already exists
    [20:59:45] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hallo Aerox, dieser Account ist registriert. Bitte trage dein Passwort ein.' at line 1


    @Jeffry


    Den Code den ich posten sollte



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");
    }
    }
    }
    return 1;
    }

  • Setze nach dem "else if" Block ein return 1 hin.

    So richtig ?



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");
    return 1;
    }

    }
    }
    return 1;
    }

  • Nein, nach dem Block, sprich nach der Klammer in der Zeile drunter.
    Also um zwei Zeilen nach unten verschieben.

    Ok danke also Sprich so : ?



    forward OnQueryFinish(resultid, extraid, ConnectionHandle);
    public OnQueryFinish(resultid, extraid, ConnectionHandle)
    {
    new Rows, Fields;
    if(resultid != THREAD_NO_RESULT)
    {
    cache_get_data(Rows, Fields);
    }
    switch(resultid)
    {
    case THREAD_REGISTER_ACCOUNT:
    {
    PlayerInfo[extraid][pID] = cache_insert_id();
    }
    case THREAD_LOAD_ACCOUNTS:
    {
    if(Rows)
    {
    new tmp[130];
    cache_get_field_content(0, "ID", tmp);
    PlayerInfo[extraid][pID] = strval(tmp);
    cache_get_field_content(0, "Password", tmp);
    format(PlayerInfo[extraid][pPassword], 129, "%s", tmp);
    cache_get_field_content(0, "Level", tmp);
    PlayerInfo[extraid][pLevel] = strval(tmp);
    cache_get_field_content(0, "Gender", tmp);
    PlayerInfo[extraid][pGender] = strval(tmp);
    cache_get_field_content(0, "Age", tmp);
    PlayerInfo[extraid][pAge] = strval(tmp);
    cache_get_field_content(0, "Admin", tmp);
    PlayerInfo[extraid][pAdmin] = strval(tmp);
    cache_get_field_content(0, "Skin", tmp);
    PlayerInfo[extraid][pSkin] = strval(tmp);
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist registriert. Bitte trage dein Passwort ein.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", szQuery, "Login", "Abbruch");
    }
    else if(!Rows)
    {
    format(szQuery, sizeof(szQuery), "Hallo %s, dieser Account ist zum Registrieren freigegeben.", SpielerName(extraid));
    ShowPlayerDialog(extraid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registration", szQuery, "Registrieren", "Abbruch");

    }
    return 1;
    }
    }
    return 1;
    }

  • @Jeffry @_Marvin


    jetz kommt aber wieder die Meldung wen ich das return 1 dort habe ^^


    Code
    [18:57:41] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hallo Aerox, dieser Account ist registriert. Bitte trage dein Passwort ein.' at line 1
    [18:57:42] [ERROR] CMySQLQuery::Execute[OnQueryFinish] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Hallo Aerox, dieser Account ist registriert. Bitte trage dein Passwort ein.' at line 1
  • Ich gehe davon aus, dass du szQuery irgendwo anders auch verwendest, bzw. es global deklariert hast, stimmt's? Falls ja, dann ändere den Code so um: